printf键入域字符

在格式规范,type 字符是指定的转换说明符对应的实参将被解释为字符、字符串、指针、整数或浮点数。 type 字符是唯一所需的格式规范字段,因此,在任何可选字段后出现。

遵循格式字符串的参数根据相应的 type 字符和选项 范围 标题解释。 char 类型的 char 和 wchar_t 将指定使用 c 或 C,使用 s 或 S,并且,单字节和多字节或宽字符字符串指定,格式设置功能使用。 通过使用 c,并 s 被解释为 char 和 char* 由 printf 函数族的字符和字符串参数,或作为 wchar_t 和 wchar_t* 由 wprintf 函数族。 通过使用 C,并 S 被解释为 wchar_t 和 wchar_t* 由 printf 函数族的字符和字符串参数,或作为 char 和 char* 由 wprintf 函数族。

整数类型 (如 short,int,long,long long,使用 d、i、o、u、x和 X,并且,它们的 unsigned 变量,指定。 使用 a、A、e、E、f、g和 G,浮点类型 (如 float、double和 long double,指定。 默认情况下,除非 size 字段长度标题进行修改,整数参数强制为 int 类型,因此,浮点参数强制为 double。 在 64 位系统,int 为 32 位值;因此,64 位整数将被截断,在以后针对输出进行格式设置,除非使用 ll 或 I64size 前缀。 由 p 使用指定默认值的长度平台的指针类型。

备注

C、S和 Z 类型字符和 c 和 s 类型字符的行为,在使用与 printfwprintf 功能,是 Microsoft 扩展并不兼容的 ANSI。Visual C++ 不支持 F 类型字符。

printf 键入域字符

键入字符

参数

输出格式

c

字符

当使用 printf 函数,指定单字节字符;当使用 wprintf 函数,指定宽字符。

C

字符

当使用 printf 函数,指定宽字符;当使用 wprintf 函数,指定单字节字符。

d

Integer

签名的十进制整数。

i

Integer

签名的十进制整数。

o

Integer

无符号八进制整数。

u

Integer

无符号十进制整数。

x

Integer

无符号的十六进制整数;使用“abcdef”。

X

Integer

无符号的十六进制整数;使用“ABCDEF”。

e

浮点

具有以下形式的有符号值 [ – ]d.dddd e [符号]dd[d]d 是一个十进制数的位置,dddd 是一个或多个十进制数字,dd[d] 是两个或三个十进制数字基于指数的 输出格式 和大小,并且,sign 为 + 或 -。

E

浮点

与 e 格式,但 E 而不是 e 引入指数。

f

浮点

具有以下形式的有符号值 [ – ]dddd.dddd,其中 dddd 是一个或多个十进制数字。 小数点前的位数取决于数字的量级,而小数点后的位数取决于请求的精度。

g

浮点

签名的值。f 或 e 格式显示,其中为个特定的值和精度简洁。 使用 e 格式,只有 + 当该值的指数小于时– 4 或大于或等于 precision 参数。 显示尾随零被截断,并且,小数点出现,只有 + 当一个或多个数字执行。

G

浮点

与 g 格式,除此之外,E,而不是 e,引入了指数 (合适的位置)。

a

浮点

具有以下形式的签名的十六进制双精度浮点值 [−]0x0xh.hhhhdd,其中 h.hhhh 是 十六进制数字 (使用小写字母) 该尾数和 dd 是指数的一个或多个数字。 精度在调用点后面指定数字个数。

A

浮点

具有以下形式的签名的十六进制双精度浮点值 [−]0x0Xh.hhhhdd,其中 h.hhhh 是 十六进制数字 (使用大写字母) 该尾数和 dd 是指数的一个或多个数字。 精度在调用点后面指定数字个数。

n

为整数的指针

到目前为止至流或缓冲区已成功写入字符数。 此值在地址是作为参数的整数存储。 后参见中的"安全说明本文中。

p

指针类型

显示参数为十六进制数字的地址。

s

字符串

当使用 printf 功能,指定单字节或多字节字符字符串;当使用 wprintf 函数,指定宽字符字符串。 字符显示到第一个 null 字符或直到 precision 值为止。

S

字符串

当使用 printf 函数,指定宽字符字符串;当使用 wprintf 功能,指定单字节或多字节字符字符串。 字符显示到第一个 null 字符或直到 precision 值为止。

Z

ANSI_STRINGUNICODE_STRING 结构

当或 ANSI_STRING UNICODE_STRING 结构的地址将作为参数时,显示在缓冲区包含指向由框架的 Buffer 字段的字符串。 使用 w 长度修饰符标题指定 UNICODE_STRING 参数 (例如,%wZ。 必须设置结构的 Length 字段添加到长度,在字节,该字符串。 必须设置结构的 MaximumLength 字段添加到长度,在字节,缓冲区。

通常,Z 类型字符在驱动程序使用一个格式规范的调试功能仅使用,如 dbgPrintkdPrint

如果对应于一种浮点转换说明符的参数是无限大,不确定或 NAN,下表列出了格式化输出。

Output

+ infinity

1.#INF随机数字

– infinity

– 1.#INF随机数字

不确定 (和安静地 Nan 相同)

digitrandom 数字. #IND

NAN

digitrandom 数字. #NAN

备注

如果对应于 %Z,或者参数对应于 %s 或 %S参数的 Buffer 字段,是 null 指针,“(null)”会显示。

备注

是任何指数格式,指数数字的默认值的个数显示的是三。使用 _set_output_format 功能,可以设置数字个数显示为两,但外接到三,如果要求由指数的范围。

安全说明安全说明

由于 %n 格式是本能不安全的,则默认情况下它将禁用。如果 %n 在格式字符串,遇到无效参数调用处理程序,如 参数验证所述。若要启用 %n,请参见 _set_printf_count_output

请参见

参考

printf, _printf_l, wprintf, _wprintf_l

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

标志指令

printf宽度规范

精度规范

大小规格

_set_output_format