2

可能重复:
使用 C++ 输出运算符打印前导零(等效于 printf)?

#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

4

1 回答 1

5

你还需要setfill('0').

于 2010-11-07T08:57:45.453 回答