我正在尝试编写 Huffman 编码器,但遇到了一些压缩错误。我将问题确定为放入 ofstream 的字符与来自同一文件的字符 read() 之间的不匹配。
此问题的一个具体实例:
- put() 写入 ASCII 字符 10(换行)
- read() 读取 ASCII 字符 13(回车)
我认为读取和放置读取和写入原始数据(没有字符翻译)我不确定为什么会发生这种情况。有人可以帮我吗?
这是用于写入压缩文件的 ofstream 实例:
std::ofstream compressedFileStream(getCompressedFileName(),std::ios::binary||std::ios::ate);
以及用于读取相同内容的 ifstream 实例
std::ifstream fileInput(getFileName()+".huf",std::ios::binary);
该代码在 Windows 7 上运行,程序中的所有流均以二进制模式打开。