Hi!
Ich soll für eine Aufgabe eine Binärdatei erstellen und verwalten.
Laut zahlreichen Internetseiten gibt man beim Öffnen mittels "wb" an, dass man die Daten binär speichern möchte.
Habe dazu folgenden Code verwendet:
Wenn ich jetzt kompiliere und mein Programm starte, dann wird mir eine Datei "test.bin" angelegt aber wenn ich diese Daten mit dem Editor öffne kann ich darin "xyz" lesen.
Ich dachte mit "wb" erzeuge ich Binärdaten in der Datei! Dann sollte ich ja eigentlich die Daten auch nicht lesen können? Diese Daten sollten ja nur mit einem Hex-Editor lesbar sein.
Warum kann ich dann trotzdem "xyz" lesen in der Datei?
Anscheinend habe ich hier etwas nicht richtig verstanden! Könnt ihr mir bitte dabei helfen?
Lg, Domsi
Ps: Verwende GCC Kompiler. Getestet unter Windows und unter Linux. Bei beiden das selbe Ergebnis!
Ich soll für eine Aufgabe eine Binärdatei erstellen und verwalten.
Laut zahlreichen Internetseiten gibt man beim Öffnen mittels "wb" an, dass man die Daten binär speichern möchte.
Habe dazu folgenden Code verwendet:
Code:
FILE * pFile;
char buffer[] = { 'x' , 'y' , 'z' };
pFile = fopen ( "test.bin" , "wb" );
fwrite (buffer , 1 , sizeof(buffer) , pFile );
fclose (pFile);
Wenn ich jetzt kompiliere und mein Programm starte, dann wird mir eine Datei "test.bin" angelegt aber wenn ich diese Daten mit dem Editor öffne kann ich darin "xyz" lesen.
Ich dachte mit "wb" erzeuge ich Binärdaten in der Datei! Dann sollte ich ja eigentlich die Daten auch nicht lesen können? Diese Daten sollten ja nur mit einem Hex-Editor lesbar sein.
Warum kann ich dann trotzdem "xyz" lesen in der Datei?
Anscheinend habe ich hier etwas nicht richtig verstanden! Könnt ihr mir bitte dabei helfen?
Lg, Domsi
Ps: Verwende GCC Kompiler. Getestet unter Windows und unter Linux. Bei beiden das selbe Ergebnis!
Zuletzt bearbeitet: