Ich versuche, Daten aus einer Textdatei zu lesen, zu löschen und dann in dieser Reihenfolge in der Reihenfolge fstream
zu schreiben.Aus Datei lesen, löschen, darauf schreiben
Meine Frage ist, wie man eine Datei löscht, nachdem sie davon gelesen hat. Ich weiß, dass ich eine Datei öffnen und gleichzeitig löschen kann, aber gibt es eine Funktion, die ich im Stream aufrufen kann, um den Inhalt zu löschen?
So gemacht, gibt es immer noch eine Lücke zwischen dem Löschen und dem Umbenennen. In UNIX-Dateisystemen sollten Sie fsync, das Löschen überspringen und nur die temporäre Datei über die erste Datei umbenennen; es wird atomar ersetzt werden. Unter Windows verfügt NTFS über eine spezielle ReplaceFile-Funktion. atomare Ersetzungen sind auf anderen Dateisystemen AFAIK nicht möglich. – ephemient