Zeiger auf bestimmten Bereich in einer Datei
-
Hallo,
habe hier ein Programm, das eingegebene Daten auf folgende Weise in eine (binäre) Textdatei speichert:
Pos Nachname Vorname Land Geburtsjahr
und das ganze dann zeilenweise, solange ich eingebe...
Nun meine Frage:
Ich möchte einen Zeiger auf die letzte Position setzen, um nach einem Neustart des Programms an dieser Stelle weiterzumachen (Sonst fängt der Zähler wieder bei 1 an). Wie mach ich das nun am dümmsten?
Danke schonmal!
Bis baldAndi
-
Mögtlichkeit 1 Reserviere dir am Anfang der Binaren Datei einen Platz in dem du die Anzahl der geschriebenen Records
vermerkst. Und speicher die anderen Daten danach.Zum lesen
Datei öffnen
Anzahl Elemente lesen
Daten LesenZum schreiben
Datei öffnen
Dummilänge schreiben
Alle Daten schreiben
mit fseek auf den Dateianfang positionieren
echte Lönge schreiben
-
Einfacher:
WEnn ich dein Problem richtig verstanden habe, reicht es, wenn du einfach mit fseek den dateizeiger auf SEEK_END setzt
-
Aus einer C-Hilfe (fopen)
a => Öffnet eine Datei für Schreiboperationen. Falls die Datei bereits existiert, werden weitere Daten an das aktuelle Dateiende angehängt, ansonsten wird sie automatisch erzeugt.
-
Erstmal danke für die schnelle Hilfe.
Das mit dem Append (a) hab ich auch gefunden, nur will ich ja die Position einlesen, damit ich weitere Daten anhängen kann mit der richtigen Nummerierung und net wieder von 1 anGruß Andi
-
Deshalb mein Vorschlag die Anzahl records am Anfan der Datei zu speichern.