Daten in Datei einfügen

Ozzy Ozborn

Erfahrenes Mitglied
Hi,

ich muss eine Menge verschiedener Daten generieren, und die am Ende in eine Datei schreiben.
Das habe ich mir so vorgestellt:
Öffne eine Datei. Wenn sie leer ist, dann füge einfach alle Daten ein.
Wenn nicht: nehme die erste Zahl aus der ersten Zeile. Ist die eben generierte Zahl kleiner, so füge sie davor ein. Ist sie größer, so schaue in der zweiten Zeile etc...

Bisher habe ich immer so in eine Datei geschrieben:

Code:
fstream tmp(filename, ios::out)
tmp << zahl 1 << " ";
tmp << name << " ";
tmp << zahl2 << endl;
tmp.close()

Aber wie kann ich nun so am Besten die Zeilen überprüfen, und vor allem, wie füge ich ein?

Vielen Dank im Voraus, Ozzy
 
Hi.
Aber wie kann ich nun so am Besten die Zeilen überprüfen, und vor allem, wie füge ich ein?
Das kannst du nicht. Ein Einfügen würde das verschieben von allen Daten die hinter der Einfügeposition stehen nötig machen. Das wird aber nicht (automatisch) passieren, sondern wenn du an eine bestimmte Stelle schreibst, wird alles ab der Stelle überschrieben.

Wenn die Datei nicht riesig groß ist, lies die Daten in eine geeignete Datenstruktur im Speicher ein während du die anderen Daten gleichzeitig mit einfügst. Zum Schluss schreibst du alles in einem Rutsch wieder in die Datei.

Gruß
 
Hi,

das Problem ist, dass die Datei riesengroß ist... Aber ok, dann werde ich eben immer 2 zusammenfassen und in eine neue Datei schreiben. Schade eigentlich...

MfG, Ozzy
 
Zurück