如何将十六进制数字的字符串表示形式写入文件?例如,如果我有一个十六进制值0x001A
(十进制为26
)我希望它以十六进制字符串0x001A
写入文件而不是十进制字符串{{1或原始字节流。
答案 0 :(得分:4)
您可以使用std::hex
修饰符强制执行十六进制数字写入:
std::cout << std::hex << 10 << std::endl;
输出“a”。您可以添加“0x”以完成表示。你也可以通过在std::uppercase
之后添加std::hex
来输出大写字母的十六进制数字,也可以std::setfill('0')
将左边的尺寸填充为'0',并std::setw(X)
将它们变成大写1}}设置所需的宽度。
因此,例如,3个十六进制数字,大写字母和“0”填充:
std::cout << "0x" << std:hex << std::uppercase << std::setw(3) << std::setfill('0') << 10 << std::endl;
将完全打印"0x00A"
。