Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

löschen von datensätzen in binärdatein unter c

gelöscht_146282 / 1 Antworten / Baumansicht Nickles

Hallo


Ich habe ein kleines Programm geschrieben das dem benutzer werte abfragt, in einer struktur speichert und diese dann in eine Binärdatei schreibt.


Reinschreiben, auslesen und auflisten dieser werte funktioniert bloss wie kann ich jezt einen Datensatz löschen?


Hat jemand eine Idee?


Achso wenns hgeht soll dann kein zwischenraum entstehen, der bei der auflistung mit ersichtlich wäre.


 


Thanx

bei Antwort benachrichtigen
mr.escape gelöscht_146282 „löschen von datensätzen in binärdatein unter c“
Optionen

Binärdatei neu schreiben und dabei die gelöschten datensätze weglassen. Aber erst alle zu löschenden datensätze abfragen und danach erst die datei neu schreiben (sonst ist es ein festplatten- und warteorgie!).
Alternativ die gelöschten datensätze nur als gelöscht markieren und bei neuen aktionen ignorieren (z.b. beim auslesen oder ändern). Gelegentlich dann die datei wie oben beschrieben neu schreiben. Ist viel schneller und bietet so eine art undo für das löschen. Die löcher könnten dann ggf. mit neuen datensätze gefüllt werden.

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen