用0表示前面的数字

时间:2010-11-07 08:56:19

标签: c++ formatting iostream setw iomanip

  

可能重复:
  Print leading zeros with C++ output operator (printf equivalent)?

#include <iostream>
#include <iomanip>
int main()
{
   int n = 16;
   std::cout << ???(5) << n << std::endl;
}

我希望输出为00016
setw()以空格为前缀。是不是可以配置setw()前面的字符?

我最终的目标是在4个位置打印一个十六进制2字节数字。像这样:

#include <iostream>
#include <iomanip>
int main()
{
    unsigned short n = 0xA7;
    std::cout << std::hex << ???(4) << n << std::endl;
}

我希望得到这个输出:00A7

1 个答案:

答案 0 :(得分:5)

您还需要setfill('0')