Character
|
Type
|
Output format
|
返回值
|
|
sprintf(myString, "address [%0*d]/n",8, myFunc) 返回值是 strlen(myString) 或者说缓冲区实际长度.
|
* (.*)
|
all
|
这个字符用法为不定长的长度,例如%2d,%3d, %*n , %.*f , etc;
printf( "address [%0*d]/n",8, myFunc) == printf( "address [%08d]/n", myFunc);
|
%
|
None
|
%% 打印一个%
|
0, #, -, +,(space)
|
|
0,+, -, 为右对齐或者左对齐。例如 printf(“%-8d%8d”,1234,5677), 默认为右对齐(“+”), 0做补位填充使用
Space为空位,如果是space和”+”,没有其他,这些space将被忽略, #
|
c
|
int or int_t
|
单个字符,如果使用 wprintf 将是宽字符
|
C
|
int or int_t
|
宽字符如果使用 wprintf 将是单字符
|
s
|
String
|
单字节字符串使用printf 如果使用 wprintf 就是宽字符串,如果空串,结果是"(null)"
|
S
|
String
|
宽字符串使用printf 如果使用 wprintf 就是单字节字符串,如果空串,结果是"(null)"
|
w
|
String,char
|
打印 char or string,宽字符打印,不喜欢用 W2A的用这个 sprintf(str,"%ws",L"abcde");
|
d,i,I64I32,I
|
Int
|
十进制整形 I64d, i64d 打印64位整形 ui64d无符号64位整形, 末尾d不是必须,I 与平台相关。
|
l(小写L) ,ll
|
Int
|
长整型 printf( "%ld", myFunc), ll 为(long,long)
|
h
|
Int
|
短整形,四字节截取成双字节。
|
L
|
Double,float
|
打印成Long double 类型. 作用于 e,E,f,g,G
|
o
|
int
|
八进制无符号整形
|
u
|
int
|
无符号整形
|
x
|
int
|
无符号十六进制整形,小写 “abcdef”
|
X
|
int
|
无符号十六进制整形,大写 “ABCDEF”
|
e
|
double
|
3.9265e+2,幂形式的浮点数,小写e
|
E
|
double
|
3.9265E+2,幂形式的浮点数,大写E
|
f
|
double
|
打印单精度浮点数
|
g
|
double
|
短的 %e 或者%f
|
G
|
double
|
短的 %E 或者%f
|
a
|
double
|
有符号,双精度浮点数指针地址 0Xh.hhhh p±dd
|
A
|
double
|
有符号,双精度浮点数指针地址 0Xh.hhhh P±dd
|
n
|
Pointer to integer
|
到目前为止缓冲区都有啥取之.printf( "12345%n6789/n", &i ); i就等于5啦
|
p
|
Pointer to void
|
打印物理地址,相当于printf( "%0*x
|
用于printf等的格式化控制字符
最新推荐文章于 2023-05-15 01:39:39 发布