带有N个前导零的C printf

时间:2016-01-14 13:05:56

标签: c printf

我知道如果N是常数我可以使用printf(%Nd, foo)并且我知道它 但问题是N在变量中并在程序中计算

我可以合并sprintfprintf

sprintf(formatstr, "%%%dd", N);
printf(formatstr, foo);

但有没有更清洁的方式?

1 个答案:

答案 0 :(得分:3)

您可以使用*代替字段宽度。这意味着下一个参数将指定宽度:

printf("%0*d", size, foo);