将十六进制数写入文件

时间:2011-07-25 17:58:56

标签: c++

如何将十六进制数字的字符串表示形式写入文件?例如,如果我有一个十六进制值0x001A(十进制为26)我希望它以十六进制字符串0x001A写入文件而不是十进制字符串{{1或原始字节流。

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"