Sie können die Datei mit mmap abbilden, bitweise Operationen auf den zugeordneten Speicher anwenden und diese schließen.
Alternativ können Sie auch Chunks in einen Puffer lesen, die Operation auf den Puffer anwenden und den Puffer schreiben.
Hier ist ein Beispiel (C, nicht C ++; da alles außer den Fehlerbehandlungen dasselbe ist), das alle Bits invertiert:
%Vor% Dank "phihag" dient dieser Code zum Ausführen binärer Operationen an zwei Dateien.
Beispiel 1: Sie haben zwei Dateien und möchten diese beiden vergleichen, also tun Sie ein binäres XOR für diese.
Beispiel 2: Sie haben eine Datei mit jdownloader oder ähnlichem heruntergeladen und Sie haben den unvollendeten Download in einen anderen Ordner verschoben und der Download-Manager führt dann unfertige Teile weiter und erstellt eine andere Datei. Sie haben also zwei separate Dateien, die sich gegenseitig ergänzen können. Wenn Sie nun ein binäres ODER für diese beiden Dateien ausführen, haben Sie eine komplette Datei.
WARNUNG: Die größere Datei wird mit dem Operationsergebnis überschrieben.
%Vor%Tags und Links c++ linux command bitwise-operators