[C/C++] 格式化字符串参数介绍

格式化输出标准格式
% [flag] [fldwidth] [precision] [lenmodifier] convtype
格式化输入标准格式
% [*] [fldwidth] [m] [lenmodifier] convtype

*用于抑制转换,按照转换说明的其余部分对输入进行转换,但转换结果并不存放在参数中。

flag 说明
将整数按千分位分组字符
- 在字段内左对齐输出
+ 总是现实代符号转换的正负号
space 如果第一个字符不是正负号,则在其前面加上一个空格
# 指定另一种转换格式(如十六进制加0x前缀)
0 添加前导0进行填充

fldwidth说明最小字段宽度,多余字符位置用空格填充。

precision说明整形转换后最少输出字符数、浮点数转换后小数点后的最少位数、字符串转换后最大字节数。

lenmodifier 说明
hh 按signed或unsigned char输出
h 按signed或unsigned short输出
l 按signed或unsigned long或宽字符输出
ll 按signed或unsigned long long输出
j intmax_t或uintmax_t
z size_t
t ptrdiff_t
L long double
convtype 说明
d、i 有符号十进制
o 无符号八进制
u 无符号十进制
x、X 无符号十六进制
f、F 双精度浮点数
e、E 指数格式双精度浮点数
g、G 根据转换后的值解释为f、F、e、E
a、A 十六进制指数格式双精度浮点数
c 字符(若带长度修饰服l,则表示宽字符)
s 字符串(若带长度修饰服l,则表示宽字符串)
p 指向void的指针
n 到目前为值,此printf调用输出的字符的数目将被写入到指针所指向的代符号整形中
% 一个%字符
C 宽字符,等效于lc
S 宽字符串,等效于ls

猜你喜欢

转载自blog.csdn.net/ANvDbg/article/details/84101902