Überschreiben Sie die Datei mit append-Modus für fopen

Ich bin mit fopen schreiben einer Binär-Datei, und verwenden Sie die cstdio (stdio.h) Bibliothek durch legacy-code, und es muss cross-Plattform-kompatibel mit Windows und Linux.

Für den Prototyp, FILE * fopen ( const char * filename, const char * mode ); ich bin mit const char * mode = "ab", die angefügt werden, um eine binäre Datei. Schreiben Operationen Anhängen von Daten am Ende der Datei. Die Datei wird erstellt falls Sie nicht vorhanden ist.

Habe ich N Anzahl der Eingabe-Dateien, wo ich die Verarbeitung von Daten aus und schreiben in eine Ausgabedatei für jeden Typ, wo ich M-Typen. Ich Prozess eine Eingabe-Datei und schreibt die Daten an die entsprechende Ausgabe-Datei. Werde ich dann schließen, dass it-input-Datei und öffnen (i + 1) - te, und wiederholen Sie den Vorgang, indem Sie die Daten aus der input-Datei für die Ausgabe-Dateien.

, Wenn eine Ausgabe-Datei gibt es am Anfang auf die ausführbare Datei, ich möchte es gelöscht. Wenn es vorhanden ist und ich Sie nicht löschen, dann wenn ich den "wb" - Modus, dann wird es nur Anhängen von Daten an die Ausgabe-Datei, was zu Doppelarbeit ich nicht will. Ich bin offen für eine boost-Lösung, die ich gerne pflegen standards gut wie möglich (ich.e zu vermeiden, POSIX, wenn möglich)

fopen C++ - Referenz

halten Sie auf, tun Sie oder wollen Sie es überschreiben? wollen Sie es Anhängen, was ist da? bitte mehr klar, was Sie möchten, es zu tun, in der "schon vorhanden" und "noch nicht vorhanden" zu Fällen...
Versuchen Sie zu klären, Ihr Ziel deutlich mehr, ich kann nicht wirklich sagen, aus deinem Beitrag und den code, wenn Sie möchten, überschreiben (löschen) vorhandenen Dateien oder vermeiden Sie diese. Auch, dein code macht nicht viel Sinn, weil das öffnen einer vorhandenen Datei im write-Modus wird es gelöscht.

InformationsquelleAutor Elpezmuerto | 2010-07-16

Schreibe einen Kommentar