0

fwrite を使用して、バッファーの内容を gcc のファイルに書き込むことに慣れています。ただし、何らかの理由で、fwrite が Visual C++ 2005 で正しく動作しないようです。

私が今行っているのは、テキスト ファイルをバイナリに変換することです。プログラムは最初の 61 行までは正常に動作しましたが、62 行目で出力バイナリ ファイルに 0x0d を挿入しました。基本的に、それはオリジナルを変えました

12 0a 00

12 0d 0a 00

バッファを確認しましたが、内容は正しかったです。

buffer[18] = 0x12, buffer[19] = 0x0a, buffer[20] = 0x00

そして、このバッファをファイルに書き込もうとしました

fwrite(buffer, 1, length, fout)

ここで、長さはバッファ コンテンツのサイズの正しい値です。

これは一度私に起こり、コードを fwrite から WriteFile に変更して正しく動作させる必要がありました。出力に 0x0d が挿入される理由はありますか? これを修正できますか、それとも代わりに WriteFile を使用する必要がありますか?

4

1 に答える 1