2016-04-01 3 views
0

Wenn ich schreibe fout.open("file.dat",ios::out|ios::trunc|ios::binary); verliert die Datei alle ihre Daten in dieser Instanz oder es wird warten, dass etwas geschrieben wird und dann Daten verloren gehen? (Ich hoffe, Sie bekommen meinen Punkt, alles was ich frage ist, ob nur die obige Aussage schreiben, dh fout.write() wird Entfernen von Datensätzen aus einer Binärdatei aufrufen oder wir müssen einige Daten an die Datei übergeben und dann die vorherigen Daten bereits gespeichert in der Datei wäre verloren)Wie funktioniert ios :: trunc in C++ für Binärdateien?

Antwort

1

Das Trunc-Flag wird die Datei bei open() auf Null setzen.

+0

meinst du, es wird Inhalt der Datei entfernen, nur durch Eingabe von fout.open() Anweisung? –

+0

bedeutet es, ich kann fout.open schreiben ("file.dat", ios :: out | ios :: trunc | ios :: binary); fout.close(); wie diese 2 Anweisung kann ich em verwenden, um den Inhalt der Datei zu löschen :)? –

+0

@Keshav Sharma 'trunc' bedeutet, dass der vorhandene Inhalt auf 0 Bytes gekürzt wird, also" ja "- siehe zum Beispiel: http://www.cplusplus.com/doc/tutorial/files/ für die Dokumentation. –

Verwandte Themen