Im Binärfile löschen??? Welche Standard-I/O-Klasse gibt es dafür?



  • Hallo,

    wie kann ich in einem Binärfile z.B. eine int-Information löschen? Int-Wert liegt z.B. zwischen 4Byte bis 8Byte?

    Ciao



  • Was meinst du mit löschen?



  • Hallo,

    Ich hab nen Binärfile mit meinetwegen 12 Bytes, wovon 0 bis 3 Byte mit einem int-Wert belegt ist und die letzten 8 Byte mit einem double-Wert.

    Wie kann ich jetzt z.B. den nur den int-Wert, also die Stelle von 0 bis 3Byte löschen, so dass der Binärfile nur noch 8Byte beinhaltet und nicht 12?



  • Die Bytes auslesen die Du haben willst, Datei löschen und die gelesenen Bytes in eine Datei mit gleichen Namen schreiben.



  • Löschen geht in dem Sinne nicht. Du kannst höchstens einen neuen Wert an dieser stelle setzen, z.B. den Bytewert null. Wenn du aber meinst, das sich die Datei an der Stelle verkleinern soll (also der Rest an die zu löschende Stelle "vorrücken" soll), dann mußt die den ganzen Rest einlesen und an die zu löschende Stelle neu schreiben. Man kann in eine Datei nur lesen und schreiben. Will man was entfernen, dann muß man die ganze Datei neu bearbeiten. Das wäre eine Möglichkeit.

    Wenns schnell gehen soll, aber Speicher egal ist, dann kannst du dir auch "Sprungmarken" setzen. Z.B. eine bestimmte Byte-Folge selbst definieren. Aber das lohnt sich eigentlich bei normaler Dateiverarbeitung nicht.


Log in to reply