In eine vorhandene Text Datei etwas einfügen

cesupa

Erfahrenes Mitglied
Hallo,

wollte grad mal versuchen etwas in eine vorhanden Text-Datei einzufügen und dachte das würde mit seekp() ganz gut funktionieren. Aber anstatt was in die Datei einzufügen hat mein Prog die Textdaeti überschrieben :mad: .
Wie kann ich jetzt aber etwas einfügen ?

Danke schon mal für eure Hilfe.

cesupa
 
moin


Wie öffnest du die Datei?
Wenn mit ofstream, versuch mal folgendes:
Code:
ofstream datei("xxx.txt", ios_base::app);
oder
Code:
ofstream datei("xxx.txt", ios::app);


mfg
umbrasaxum
 
Hallo,

ich hab das auch schon mit ios::app versucht aber ich will ja nichts an die Datei anhängen sondern etwas mittendrin einfügen.

MfG
cesupa
 
moin


Kannst du dann doch trotzdem noch, du musst sie nur erstmal so öffnen das nicht gleich beim öffnen der Inhalt verschwindet.


mfg
umbrasaxum
 
Ok, und wie mach ich das jetzt, wenn ich seekp() benutze hängt der trotzdem immer noch alles am Ende der datei an.

cesupa
 
Das Konzept des Einfügens in der Mitte einer Datei gibt es nicht. Da musst du drumrum arbeiten:

Vorderen Teil einlesen, in neue Datei schreiben
Einzufügende Daten in neue Datei schreiben
Hinteren Teil einlesen, in neue Datei schreiben
Alte Datei löschen, neue Datei in alte umbenennen
 
und warum kann man nicht einfach den kompletten Inhalt in ein char-array lesen und dann das was Endurion mit den Filez macht mit char-arrays machen? Oder ist das blöd weil die Datei ja auch recht big sein kann und der Ram verstopft?
 
moin



Nach dem du die Datei geöffnet hast kannst du mit seekp(ios::begin); erstmal an den Anfang der Datei gehen, dann sollte es klappen.


mfg
umbrasaxum
 
Zurück