C - printf - 删除前导零
C - printf - remove leading zeroes
当我这样使用 printf 时:
printf("%.*ju ", size_length, (uintmax_t) thing->fts_statp->st_size);
它添加前导零以使 thing->fts_statp->st_size
的长度为 size_length
(这在某种程度上是可以接受的,因为它的大小合适,但在视觉上没有吸引力)。有没有一种方法可以使用 printf 打印尺寸信息而不是这样做?
编辑以获取更多信息:
目前打印如下:
00012
00234
51234
01203
00001
我想打印出来
12
234
51234
1203
1
如果您只想 space 填充:
printf("% *ju ", size_length, (uintmax_t) thing->fts_statp->st_size);
当我这样使用 printf 时:
printf("%.*ju ", size_length, (uintmax_t) thing->fts_statp->st_size);
它添加前导零以使 thing->fts_statp->st_size
的长度为 size_length
(这在某种程度上是可以接受的,因为它的大小合适,但在视觉上没有吸引力)。有没有一种方法可以使用 printf 打印尺寸信息而不是这样做?
编辑以获取更多信息:
目前打印如下:
00012
00234
51234
01203
00001
我想打印出来
12
234
51234
1203
1
如果您只想 space 填充:
printf("% *ju ", size_length, (uintmax_t) thing->fts_statp->st_size);