[O]ftream und anhängen bzw. überschreiben von Binär Dateien
-
Hallo,
Ich habe in verschiedenen Beiträgen gelesen, das man Teile von Binärdateien überschreiben kann, wenn man beim Öffnen bereits ios::ate mitangibt, und dann an die jeweiligen stelle springt (Schreibzeiger) [seekp(...)] - jedoch habe ich das jetzt schon des öffteren ausprobiert, und beim Debuggen ist mir aufgefallen, das bereits beim Aufruf der folgenden Zeile die Dateigröße nur noch 0 Byte beträgt (also der Bisherige Inhalt verworfen wird)
ofstream myfile("MeineDatei.dat",ios::binary|[b]ios::ate[/b]|ios::binary);mach ich hier irgend etwas falsch??
oder geht es nur mit ios::app (nur am Dateiende ist weiterschreiben möglich...)
kann man irgendwie anders bestimmte Bereiche aus Binärdateien "überschreiben"´, bzw an bestimmten Bereichen neue Datan anfügen??MFG (Nobber)
-
wieso gibst du ios::binary 2 mal an ?
Devil
-
hab mich eben verschrieben...
heisst natürlich nur 1. mal ios::binaryMFG Nobber
-
Spontaner Einfall:
vielleicht gehts, wenn du als Modus "Lesen UND Schreiben" angibst?Grüße Rapha
-
Es ist wahrhaftig so, das ich das File sowohl lesend, sowie auch schreibend öfnnen muß, dann klappt es ...
hier der Code, der Funktioniert:
int i_test=0; fstream myFile("c:\\test_cximage.dat",ios::in|ios::out|ios::ate|ios::binary); myFile.seekp(3); myFile.write(reinterpret_cast<char*>(&i_test),sizeof(i_test)); myFile.close();Danke ....