25

次のようなファイルを開くことの違いを理解しようとしています:

fstream *fileName*("FILE.dat",ios::binary);

また

fstream *fileName*("FILE.dat",ios::out);

また

fstream *fileName*("FILE.dat",ios::binary | ios::out);

これらの形式はすべて同一であることがわかりました。すべての場合において、ファイルへの同じ出力は、 または のいずれ*fileName*<<かを使用して生成されます*fileName*.write()

4

2 に答える 2

31

ios::outファイルを書き込み用に開きます。

ios::binary改行文字を\r\nその場で変換することなく、データの読み取りまたは書き込みを確実に行います。言い換えれば、ストリームに与えるものは正確に書かれたものです。

于 2010-02-08T23:12:59.700 に答える
10

ios :: binaryでファイルを開くと、改行文字の処理方法が制御されます。Windowsでは、これらはCRLFペアに拡張されます。それだけです-operator<<のようなものがどのように機能するかに影響はありません。

于 2010-02-08T23:14:54.923 に答える