%.6d
的含义是什么:
printf("%s.%.6d len:%d ", timestr, header->ts.tv_usec, header->len);
这是一个错字吗?
似乎%.6d
与%6d
相同。
答案 0 :(得分:27)
%.6d
在整数说明符(d,i,o,u,x,X)的 .precision 格式中,precision指定要写入的最小位数。如果要写入的值小于此数字,则结果用前导零填充。即使结果较长,也不会截断该值。
%6d
宽度(此处为6)指定要打印的最小字符数。如果要打印的值小于此数字,则结果用空格填充。即使结果较大,也不会截断该值。
示例:
printf("%.6d\n%6d",1,1);
输出:
000001
1
答案 1 :(得分:8)
前者将用零填充,后者用空格填充。
#include <stdio.h>
int main(void) {
printf ("%.6d\n", 123);
printf ("%6d\n", 123);
return 0;
}
生成以下输出
000123
123