Hallo,
Ich beschäftige mich im Moment gerade etwas mit dem automatischen Verschlüseln von Daten beim Abspeichern.
Dabei bin ich auf ein kleines Problem gestossen. Wenn ich eine Datei mit r+ zum lesen und schreiben öffnen möchte muss ich bis jetzt
verwenden. Das ist für grosse Dateien nicht sehr schnell.
Wenn ich statt fgetc fread verwende und immer einzelne Blöcke auslese wäre es etwas schneller, aber der Wechsel vom Lesen zum Schreiben funktioniert dann mit fseek nicht mehr, da dann nie das Dateiende erreicht wird.
Was hätte ich noch für andere Möglichkeiten um Die Datei möglichst schnell zu verschlüsseln ohne alles in den Arbeitsspeicher einzulesen?
Ich beschäftige mich im Moment gerade etwas mit dem automatischen Verschlüseln von Daten beim Abspeichern.
Dabei bin ich auf ein kleines Problem gestossen. Wenn ich eine Datei mit r+ zum lesen und schreiben öffnen möchte muss ich bis jetzt
Code:
FILE* f = fopen("datei.txt", "r+");
while((c = fgetc(f)) != EOF){
fseek(f, -1, SEEK_CUR);
fputc(encode(c), f);
fseek(f, 0, SEEK_CUR);
}
fclose(f);
verwenden. Das ist für grosse Dateien nicht sehr schnell.
Wenn ich statt fgetc fread verwende und immer einzelne Blöcke auslese wäre es etwas schneller, aber der Wechsel vom Lesen zum Schreiben funktioniert dann mit fseek nicht mehr, da dann nie das Dateiende erreicht wird.
Was hätte ich noch für andere Möglichkeiten um Die Datei möglichst schnell zu verschlüsseln ohne alles in den Arbeitsspeicher einzulesen?