Zeilen in Datei einfügen
-
Hallo,
ich arbeite mit Dateien die zeilenweise aufgebaut sind. Nun möchte ich eine Datei öffnen und irgendwo in der Mitte ein paar Zeilen zwischen die bereits vorhandenen einfügen. Gibt es eine Möglichkeit, egal ob via iostream-Funktionen oder STL Befehlssätze, den Dateicursor zu verschieben, sodass ich nicht an das Ende der Datei sondern in die Mitte schreibe und neue Zeilen einfügen kann?
Ich bin mir durchaus darüber im Klaren, dass ich die Datei auch einfach einlesen, in einen Array/STL-Vector oder sonstwas packen, manipulieren und wieder ausgeben könnt. Aber bei großen Dateien ist das doch ne ziemliche Speicherbelastung die nicht sein müsste, zumindest sofern es eine solche Funktion wie ich sie suche überhaupt gibt.
Danke
-
Guck dir das mal an:
http://cplusplus.com/ref/iostream/ostream/seekp.html
Und dann musst du halt einmal bis zum Ende gehen, und auslesen wie lang die Datei ist, das halbieren und zur der Position gehen.
Aso für das herausfinden der Größe:
http://cplusplus.com/ref/iostream/ostream/tellp.html
-
mfg