大小规格

在格式规范,第四个可选字段是转换说明符的参数修饰符长度。 为 type 字段h、l、w、I、I32、I64和 ll的选项 size 字段标题—指定“范围”的对应参数长或短,32 位或 64 位,单字节字符或宽字符依赖于这些修改的转换说明符。 如下表所示,这些修饰符长度前缀用于与 type 字符在功能 printfwprintf 系列指定参数长度的解释。

备注

I、I32和 I64 长度修饰符标题是 Microsoft 扩展并不是 ANSI 兼容。h 标题,在使用了类型 char,w 标题,在使用了与数据类型 wchar_t时和 l 标题数据,在使用了类型 double 时数据是 Microsoft 扩展。hh、j、z和 t 长度标题不受支持。

调整 printf 和 wprintf 类型的格式说明符的标题

指定属性

使用前缀

类型说明符

long int

l (例 L)

d、i、o、x 或 X

long unsigned int

l

o、u、x 或 X

long long

ll

d、i、o、x 或 X

short int

h

d、i、o、x 或 X

short unsigned int

h

o、u、x 或 X

__int32

I32

d、i、o、x 或 X

unsigned __int32

I32

o、u、x 或 X

__int64

I64

d、i、o、x 或 X

unsigned __int64

I64

o、u、x 或 X

ptrdiff_t (即在 32 位平台上 __int32,在 64 位平台上 __int64 )

I

d、i、o、x 或 X

size_t (即在 32 位平台上 unsigned __int32 ,在 64 位平台上 unsigned __int64 )

I

o、u、x 或 X

long double (在 Visual C++,不过,long double 不同类型,它具有内部表示形式和 double相同。)

l 或 L

a、A、e、E、f、g 或 G

printfwprintf 功能的单字节字符。 ( hc 或 hC 类型说明符是同义词的与 printf 功能的 c 以及 wprintf 功能的 C。)

h

c 或 C

printfwprintf 功能的宽字符。 ( lc、lC、wc 或 wC 类型说明符是同义词的与 printf 功能的 C 以及 wprintf 功能的 c。)

l 或 w

c 或 C

单字节与 printfwprintf 的字符串) 函数。 ( hs 或 hS 类型说明符是同义词的与 printf 功能的 s 以及 wprintf 功能的 S。)

h

s、S 或 Z

printfwprintf 功能的宽字符字符串。 ( ls、lS、ws 或 wS 类型说明符是同义词的与 printf 功能的 S 以及 wprintf 功能的 s。)

l 或 w

s、S 或 Z

请参见

参考

printf, _printf_l, wprintf, _wprintf_l

格式规范语法:printf 和 wprintf 函数

标志指令

printf宽度规范

精度规范

printf键入域字符