binärdatei teilweise ändern
-
Hi,
Wie kann ich eine Binärdatei teilweise abändern, ohne sie komplett in den speicher zu kloppen und wieder zurückzuschreiben? geht das?
ich habe das versucht:
FILE *outfile; outfile = fopen(argv[1],"w+b"); fseek(outfile,pos,SEEK_SET); fwrite(argv[2],sizeof(char),64,outfile); fclose(outfile);
da wo pos hinzeigt, würde ich gerne etwas überschreiben(64 bytes). die daten davor und danach sollen aber unverändert bleiben.
Danke schonmal,
fatzge
-
Jein.
Ich würde die zu ändernde Datei bis zur Anfangsposition Deiner 64 Bytes direkt in eine neue Datei streamen, dann die 64 neuen Bytes und dann den ganzen rest vom Ende des Original-64-Byte Blocks bis zum Ende.
greetz, Swordfish
-
fatzge schrieb:
die daten davor und danach sollen aber unverändert bleiben.
das 'danach' wird leider überschrieben. um das zu verhindern, bräuchte man ein dateisystem, das statt einer fortlaufenden folge von bytes die daten in einer art listenstruktur speichert. oder du nimmst ein dbms.