我想要输出一个字符的十六进制值,并以一种美观的方式格式化它。
期望输出结果:0x01 : value 0x1
但我只能得到这样的输出结果:00x1 : value 0x1
(如果不使用 iomanip,则为 0x1)。下面是我的代码,其中 'ch' 的声明为无符号字符。除了检查值并手动添加 '0' 之外,还有其他方法可以实现吗?
cout << showbase;
cout << hex << setw(2) << setfill('0') << (int) ch;
编辑:
我在网上找到一个解决方案:
cout << internal << setw(4) << setfill('0') << hex << (int) ch