可能重复:
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
答案 0 :(得分:5)
您还需要setfill('0')
。