格式说明符内的格式说明符,用于更改前导零的大小
format specifier inside format specifier to change size of leading zeros
我想解决下面描述的问题,然后我以一个问题结束,但我在 Google 上找不到答案。
问题:是否可以在 printf() 的另一个格式说明符中使用格式说明符?
问题在于以下代码行中 printf() 中前导零的大小:
uint16_t num=5;
printf("%02d",num);
是否可以为“2”使用格式说明符?
我如何根据不同的条件调整程序中前导零的大小(所以它会像 %02d、%03d、%04d,...)?除了定义不同的类别和不同的 printf() 行之外,这里是否可以使用技巧?除了 printf() 之外,还有其他函数可以解决这个问题吗?
是的,这是可能的。请参阅 printf
的 *
宽度说明符。示例:
printf("%0*d\n", 5, 2);
... 打印:
00002
我想解决下面描述的问题,然后我以一个问题结束,但我在 Google 上找不到答案。
问题:是否可以在 printf() 的另一个格式说明符中使用格式说明符?
问题在于以下代码行中 printf() 中前导零的大小:
uint16_t num=5;
printf("%02d",num);
是否可以为“2”使用格式说明符? 我如何根据不同的条件调整程序中前导零的大小(所以它会像 %02d、%03d、%04d,...)?除了定义不同的类别和不同的 printf() 行之外,这里是否可以使用技巧?除了 printf() 之外,还有其他函数可以解决这个问题吗?
是的,这是可能的。请参阅 printf
的 *
宽度说明符。示例:
printf("%0*d\n", 5, 2);
... 打印:
00002