Einen Eintrag in Binärdatei überschreiben
-
Hallo!
Nehmen wir mal an ich habe in einer Binärdatei nacheinander verschiedene Strings gespeichert. Am Offset x habe ich einen String mit der Länge 10 Byte. Wie kann ich diesen String mit einem 12 Byte String überschreiben, ohne dass die ersten 2 Byte des nächsten Strings überschrieben werden und ohne dass ich die gesamte Datei ab dem Offset x neu schreiben muss?
Danke schon mal im Voraus!
-
sorg dafür, dass immer genug platz da ist, also z.b. 30 bytes für den string. dann kannst du alle strings einsetzen die < 30 bytes sind (0 ist stringende). leider haben die meisten filesysteme keine möglichkeit, dateien ab einer bestimmten position zu verlängern.
-
Ist das wirklich die einzige Möglichkeit? Ich habe nämlich nur der Einfachheit halber über Strings gesprochen. In Wirklichkeit ist die ganze Sache etwas komplizierter.
Irgendwie muss es doch gehen, oder. Wenn in einer MySQL oder MS SQL Datenbank ein Eintrag in eine Tabelle hinzugefügt wird, wird doch auch nicht die ganze Datei neu geschriben und dass für jeden Eintrag Platz frei gelassen wird kann ich mir nicht vorstellen.