标签: c printf
我知道如果N是常数我可以使用printf(%Nd, foo)并且我知道它 但问题是N在变量中并在程序中计算
printf(%Nd, foo)
我可以合并sprintf和printf:
sprintf
printf
sprintf(formatstr, "%%%dd", N); printf(formatstr, foo);
但有没有更清洁的方式?
答案 0 :(得分:3)
您可以使用*代替字段宽度。这意味着下一个参数将指定宽度:
*
printf("%0*d", size, foo);