2016-04-01 1 views
0

fout.open("file.dat",ios::out|ios::trunc|ios::binary); と書いた場合、ファイルはそのインスタンスのすべてのデータが失われますか? か、何かが書き込まれるのを待ってデータが失われますか? (私はあなたが私の要点を得ることを願っています。上記の文を書いているかどうか、すなわちfout.write()がバイナリファイルからレコードの削除を呼び出すか、ファイルに何らかのデータを渡してから、ファイルが失われる)ios :: truncはバイナリファイルのためにC++でどのように動作しますか?

答えて

1

truncフラグはopen()でファイルをゼロにします。

+0

これは、fout.open()文を入力するだけでファイルの内容が削除されることを意味しますか? –

+0

私はfout.open( "file.dat"、ios :: out | ios :: trunc | ios :: binary)を書くことができます。 fout.close(); この2つのステートメントのようにファイルの内容を削除するにはemを使用できます:) –

+0

@Keshav Sharma 'trunc'は、既存の内容を0バイトに切り詰めることを意味しますので、" yes "を参照してください - 例えばhttp://www.cplusplus.com/doc/tutorial/files/を参照してください。 –

関連する問題