Как я могу передать шестнадцатеричные числа с A-F (а не a-f)?
Можно ли сделать ostream вывод шестнадцатеричных чисел с символами A-F, а не A-F?
int x = 0xABC;
std::cout << std::hex << x << std::endl;
Это выводит abc, тогда как я предпочитаю видеть abc.
Ответ 1
Да, вы можете использовать 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;
}