我当时想解决以下问题,然后我遇到一个问题,就是我无法在Google上找到答案。
问题:是否可以在printf()的另一个格式说明符内使用格式说明符?
问题在于以下代码行中printf()中前导零的大小:
uint16_t num=5;
printf("%02d",num);
是否可以为“ 2”使用格式说明符? 如何根据不同的条件(例如%02d,%03d,%04d等)调整程序中前导零的大小?除了定义不同的类别和不同的printf()行之外,是否可以在此处使用技巧?除了printf(),还有其他功能可以解决该问题吗?
答案 0 :(得分:5)
是的,有可能。请参见*
的{{1}}宽度说明符。示例:
printf
...打印:
printf("%0*d\n", 5, 2);