ハフマンエンコーダを作成しようとしていますが、圧縮エラーが発生しています。私は問題を、ストリームにput()された文字と同じファイルからread()文字との間の不一致と特定しました。この問題の文字の読み込みと読み込みの不一致
一つの特定のインスタンス:
- プット()ASCII文字10(改行)
- )は(読み取り書き込みASCII文字13(キャリッジリターン)
を読み込み私は読んで考えて、生データ(文字の翻訳なし)を読み書きしました。なぜこれが起こっているのか分かりません。誰かが私を助けることができますか?コードは、Windows 7上で動作していると、プログラム内のすべてのストリームされているのと同じ
std::ifstream fileInput(getFileName()+".huf",std::ios::binary);
を読み取るため
std::ofstream compressedFileStream(getCompressedFileName(),std::ios::binary||std::ios::ate);
とはifstreamインスタンス:ここ
は、圧縮ファイルを作成するためのofstreamのインスタンスでありますバイナリモードで開きます。
お使いのオペレーティングシステムは何ですか? –
'ofstream'インスタンスを開くコードを投稿できますか? – hmjd
@ Mr.TAMER私はWindows 7にいる – angryInsomniac