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);