Arbeiten mit fread bereitet etwas Probleme

Habe das Problem gefunden :-) Es lag daran, dass ich die Datei nicht binär ausgelesen habe
fopen ( "myfile.bin" , "r" );
statt
fopen ( "myfile.bin" , "rb" );
Jetzt sind alle unnötigen Zeichen verschwunden.

Das Einzige, was mir jedoch aufgefallen ist, dass in den Dateien der Zeilenumbruch "\n" aus zwei Zeichen dargestellt wird (0D 0A). Wenn ich die gesammte Datei einlese, so werden die beiden Zeichen auch so übergeben, binär halt. Doch wenn ich jetzt mit der Funktion "strstr()" arbeite um ein String aus der Datei und vorgegebenen Grenzen rauszuschneiden, so erkennt die Funktion strstr() für "\n" nur (0A) und somit bekomme ich ein Zeichen (0D) mehr in den String, was sich später in die Übertragung der Datei ebenfalls auswirkt, dann habe ich z.B.
für Zeichenfolge "123\t123" in der Datei binär stehen (31 32 33 0D 09 31 32 33 0D)

Wie kann man das verhindern?
 
Hallo Klaus,

gerade nicht. Wenn ich die Ausgabe wie folgt definiere
fprintf(FILE, "%s\n", CharString)
und dann die Datei mit HexEditor öffne, so werde ich feststellen, dass dort für Zeilenumbruch auch nur (0x0A) steht.

Grüße
 
Ja, ab jetzt öffne ich die Dateien mit "rb" also binär.

@ Klaus, ja sieht so aus. Ich werde jetzt einfach nach dem Öffnen alle Zeichen überprüfen und alle \r vorsichtshalter entfernen.
 
Zurück