为什么C ++在使用std :: hex而不是资本时会打印小写字母?

时间:2016-11-04 02:56:49

标签: c++ hex

std :: hex使得放入流中的数据打印为十六进制值。但是,用于表示数字10到15的字母A-F总是以小写字母表示。有没有办法改变它来改为使用大写字母?

1 个答案:

答案 0 :(得分:4)

  

有没有办法将其更改为使用大写字母?

是的,您可以应用std::uppercase I / O操纵器来更改默认行为(小写)。

上述参考文献的例子:

  
#include <iostream>
int main()
{
    std::cout << std::hex << std::showbase
              << "0x2a with uppercase: " << std::uppercase << 0x2a << '\n'
              << "0x2a with nouppercase: " << std::nouppercase << 0x2a << '\n'
              << "1e-10 with uppercase: " << std::uppercase << 1e-10 << '\n'
              << "1e-10 with nouppercase: " << std::nouppercase << 1e-10 << '\n';
}
         

输出:

0x2a with uppercase: 0X2A
0x2a with nouppercase: 0x2a
1e-10 with uppercase: 1E-10
1e-10 with nouppercase: 1e-10