Bytes in einer Datei überschreiben?
-
Hallo,
angenommen, ich habe eine Struktur (POD) in eine Datei abgespeichert. Ich bin nun am Anfangsoffset der Struktur, und möchte sie nun komplett durch eine andere ersetzen (die selbe Größe). Das ganze läuft binär über std::ifstream::read(). Oder wie kann ich allgemein Bytes in einer Datei ersetzen, ohne sie einfach einzufügen? Danke!
-
Edit, denn std::ios::trunc überschreibt leider nicht nur die gewünschten Stellen, sondern gleich die ganze Datei.
-
Öffne die Datei zum Schreiben (ohne trunc und append), setze den Schreibpointer auf die entsprechende Position und schreibe den Satz...
-
Achja, so easy? Dann probier' ich gleich mal aus, Moment.
Okay, gestaltet sich im Moment noch etwas schwieriger, als gedacht. Möchte es nämlich gleich in den bestehenden Code einbauen, und dann testen, da mir nicht die Zeit bleibt, wieder einen komplett neuen Testcode aufzubauen. Hab grad' mit doppelten Funktionssignaturen zu kämpfen. Ich wollte den Indexoperator überladen, hab dafür zwei überladene Funktionen definiert, die sich lediglich vom Rückgabetyp unterscheiden. Mag der Compiler aber nicht.