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

本文详细介绍了C语言中printf和sprintf等函数的格式化输出选项,包括各种类型标识符及其用法,如整数、浮点数、字符和字符串等,并解释了如何控制输出的宽度、精度和其他格式选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值