FF/255 am ende einer datei
-
hi,
ich öffne datei im binär modus, und les einfach zeichen für zeichen aus. am ende der datei wird aber irgendwie angezeigt, das da ein byte mit wert FF/255 wäre.DieDatei schrieb:
aaaa
struct struct_Datei { unsigned char byte; }; [...] stuct_Byte Datei; fDatei = fopen(DieDatei,"r+b")) while (!feof(fDatei)){ Datei.new_byte = fgetc(fDatei); printf("\n%d", Datei.byte); }
Ausgabe schrieb:
97
97
97
97
255Die variable DieDatei wurde vorher initialisiert.
-
Dein EOF-Test ist falsch. Man erkennt EOF erst, wenn einmal versucht wurde, über das Ende der Datei hinaus zu lesen.
-
while (1){
Datei.new_byte = fgetc(fDatei);
if (feof(fDatei)) break;
printf("\n%d", Datei.byte);
}funktioniert, find ich aber ned wirklich elegant
-
Hallo,
schau dir doch einfach mal den Rückgabewert von fgetc an:fgetc and _fgetchar return the character read as an int or return EOF to indicate an error or end of file.
Und schwupps:
int byte; while ( (byte = fgetc(fDatei)) != EOF) { printf("\n%d", byte); }