C++ printf函数中的参数化前导零

Chi*_*nce 4 c++ printf

我的问题很简单.我想使用printf打印具有指定数量的前导零的整数.但是,前导零的数量是由运行时决定的,而不是先验的.我怎么能这样做?

如果我知道字符的数量(比方说5),那就是

printf("%05d", number);
Run Code Online (Sandbox Code Playgroud)

但我不知道它是否会是5.

Raf*_*cki 9

您可以使用*以下方式传递宽度:

printf("%0*d", 5, number);
Run Code Online (Sandbox Code Playgroud)


vid*_*vid 5

你也可以使用

cout << setw(width_) << setfill('0') << integerVariable_;
Run Code Online (Sandbox Code Playgroud)

width_在运行时决定在哪里。