是否可以让 ostream
输出十六进制数时使用字符 A-F
而不是 a-f
?
int x = 0xABC;
std::cout << std::hex << x << std::endl;
这会输出abc
,但我希望看到的是ABC
。
是否可以让 ostream
输出十六进制数时使用字符 A-F
而不是 a-f
?
int x = 0xABC;
std::cout << std::hex << x << std::endl;
这会输出abc
,但我希望看到的是ABC
。
可以使用 std::uppercase
,它会影响浮点数和十六进制整数的输出:
std::cout << std::hex << std::uppercase << x << std::endl;
如下所示的完整程序:
#include <iostream>
#include <iomanip>
int main (void) {
int x = 314159;
std::cout << std::hex << x << " " << std::uppercase << x << std::endl;
return 0;
}
这将输出:
4cb2f 4CB2F