ang*_*iac 2 c++ file-io ifstream ofstream
我正在尝试编写一个霍夫曼编码器但是我遇到了一些压缩错误.我将问题识别为put()到ofstream的字符与来自同一文件的字符read()之间的不匹配.
这个问题的一个具体实例:
我认为阅读并写入原始数据(没有字符翻译)我不知道为什么会发生这种情况.有人可以帮我吗?
以下是编写压缩文件的ofstream实例:
std::ofstream compressedFileStream(getCompressedFileName(),std::ios::binary||std::ios::ate);
Run Code Online (Sandbox Code Playgroud)
以及用于读取相同内容的ifstream实例
std::ifstream fileInput(getFileName()+".huf",std::ios::binary);
Run Code Online (Sandbox Code Playgroud)
代码在Windows 7上运行,程序中的所有流都以二进制模式打开.
由于输入错误而未以二进制模式打开:
std::ofstream compressedFileStream(getCompressedFileName(),std::ios::binary||std::ios::ate)
Run Code Online (Sandbox Code Playgroud)
应该:
std::ofstream compressedFileStream(getCompressedFileName(),std::ios::binary|std::ios::ate)
// ^
Run Code Online (Sandbox Code Playgroud)
|不是||.
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |