这是执行字节I / O的正确方法吗?

时间:2015-04-09 10:14:16

标签: io binary byte ofstream uint8t

我正在尝试将字节写入二进制文件中,我编写了这个小测试程序,以检查我是否正确执行。

std::uint8_t F = 10111001;

std::ofstream K("C:/Users/WDR/Desktop/kml.enc", std::ios::binary);

for(int i = 0; i < 256; i++)
{
    K << F;
}

正确写入文件。我得到一个256字节的文件。但是,当我在Hex Editor中看到它时,每个字节显示值00011001。难道我做错了什么?或者在十六进制编辑器中看到的字节表示方式不同?请澄清。谢谢。

1 个答案:

答案 0 :(得分:0)

10111001不是二进制数。它是十进制数。将此号码分配给uint8_t会为您提供10111001 % 256,其中包含2511001二进制文件。

你想写std::uint8_t F = 0xB9;