我不确定发生了什么,但是我正在使用ofstream对象以二进制模式写入文件。为什么我正在编写打印乱码的文件?
我写一个字节到一个文件,但该文件被打印乱码。它的打印这种类型的废话:ôß
我有一个名为ByteOutput
了一个名为inByte
功能类中定义为这样:
void inByte(int byte)
{
ostreamObj.write(&buffer, byte & 255);
}
&buffer
是我使用的存储字节一点缓冲的引用数据
在我的主,我定义了一个ofstream的OBJ和使用打开的文件的二进制:
obj.open("tester", std::ios::binary);
我写一个字节的数据,使用使用ByteOutput
对象的文件:
writeObj.inByte(1001011);
然而,当我检查的文件,它是所有的象形文字。它不显示字母K,其二进制演示1001011.
我在做什么错?
'INT A = 1001011'。 “a”的价值是什么?它是'1001011'而不是'75'。 – gongzhitaao
您应该传递写入函数的字符数,而不是'byte&255'。 – chris
@克里斯,该指令规定我必须写“最”显著字节到ostream的,这就是为什么我'字节和255' – Pangu