读二进制文件问题

时间:2017-05-28 05:50:42

标签: c++ visual-c++ ifstream

我坚持使用霍夫曼算法进行解码。简而言之,解压缩部分ifstream读取0x1A的值为-1,表示文件结束。怎么样?

ifstream compressed_file;
buffer = compressed_file.get();

1 个答案:

答案 0 :(得分:0)

某些操作系统(如Windows)使用Ctrl-Z(0x1A)表示 text 文件的结尾。

尝试以二进制模式打开:

ifstream compressed_file("My_File.dat", ios::binary);
compressed_file.read(buffer, quantity);

二进制模式意味着不对从输入文件读取的数据应用任何翻译。