可能的重复:
用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

有帮助吗?

解决方案

您也需要 setfill('0').

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top