Скажем, у меня есть dword, который я хочу вывести в hex с std:: cout и left-pad с нулями, поэтому 0xabcd будет отображаться как 0x0000abcd. Похоже, вам придется это сделать:
uint32_t my_int = 0xabcd;
std::cout << "0x" << std::hex << std::setw(8) << std::setfill('0')
<< my_int << std::endl;
Это кажется смешным для чего-то, что может быть выполнено на C с printf("0x%08X\n", my_int);
. Есть ли способ сделать это короче при использовании std:: cout для вывода (помимо использования пространства имен std)?