用于printf等的格式化控制字符

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
Stringchar
打印 char or string,宽字符打印,不喜欢用 W2A的用这个 sprintf(str,"%ws",L"abcde");
d,iI64I32I
Int
十进制整形 I64d, i64d 打印64位整形 ui64d无符号64位整形, 末尾d不是必须,I 与平台相关。
l(小写L) ll
Int
长整型 printf( "%ld", myFunc) ll (long,long)
h
Int
短整形,四字节截取成双字节。
L
Doublefloat
打印成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 dd
A
double
有符号,双精度浮点数指针地址 0Xh.hhhh dd
n
Pointer to integer
到目前为止缓冲区都有啥取之.printf( "12345%n6789/n", &i ); i就等于5
p
Pointer to void
打印物理地址,相当于printf( "%0*x
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值