我坚持使用霍夫曼算法进行解码。简而言之,解压缩部分ifstream读取0x1A的值为-1,表示文件结束。怎么样?
ifstream compressed_file;
buffer = compressed_file.get();
答案 0 :(得分:0)
某些操作系统(如Windows)使用Ctrl-Z(0x1A)表示 text 文件的结尾。
尝试以二进制模式打开:
ifstream compressed_file("My_File.dat", ios::binary);
compressed_file.read(buffer, quantity);
二进制模式意味着不对从输入文件读取的数据应用任何翻译。