如何将十六进制数的字符串表示形式写入文件?例如,如果我有一个十六进制值 0x001A
(十进制为 26
),我希望将它作为十六进制字符串 0x001A
写入文件而不是作为十进制字符串 26
或原始字节流。
最佳答案
您可以使用 std::hex
修饰符强制将数字写入十六进制:
std::cout << std::hex << 10 << std::endl;
这会输出“a”。您可以添加“0x”以完成表示。您还可以通过在 std::hex
之后添加 std::uppercase
将它们转换为大写,以大写字母输出十六进制数,也是 std::setfill('0')
用“0”填充左边的尺寸,std::setw(X)
设置所需的宽度。
例如,3 个十六进制数字、大写字母和“0”填充:
std::cout << "0x" << std:hex << std::uppercase << std::setw(3) << std::setfill('0') << 10 << std::endl;
将准确打印"0x00A"
。
关于c++ - 将十六进制数写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820311/