Wil*_*mKF 9 c++ formatting zero clog leading-zero
我知道如何使它成十六进制:
unsigned char myNum = 0xA7;
clog << "Output: " std::hex << int(myNum) << endl;
// Gives:
// Output: A7
Run Code Online (Sandbox Code Playgroud)
现在我希望它始终打印一个前导零,如果myNum只需要一个数字:
unsigned char myNum = 0x8;
// Pretend std::hex takes an argument to specify number of digits.
clog << "Output: " << std::hex(2) << int(myNum) << endl;
// Desired:
// Output: 08
Run Code Online (Sandbox Code Playgroud)
那我该怎么做呢?
Jer*_*fin 14
它不像我想的那么干净,但你可以将"填充"字符改为'0'来完成这项工作:
your_stream << std::setw(2) << std::hex << std::setfill('0') << x;
Run Code Online (Sandbox Code Playgroud)
但请注意,您为填充设置的字符是"粘性",因此在执行此操作后它将保持为"0",直到您将其恢复到类似的空间your_stream << std::setfill(' ');
.
归档时间: |
|
查看次数: |
6112 次 |
最近记录: |