Problem mit zeilemweise einlesen Einer Datei
-
Hallo!
Ich will ein Programm schreiben, mit dem ich eine Datei Zeilenweise einlese. Zum Test hab ich die Zeile auf dem Bildschirm ausgegeben.
Die Datei hat folgenden Aufbau:
10 11
12 13
14 15Mein Problem ist, dass die "1" von 12 und 14 verschwindet und er mir
10 11
2 13
4 14anzeigt.
Openfile ist ein Unterprogramm, mit dem ich die Datei zum Lesen öffne und den File- Pointer als Rückgabewert habe.
Kann mir jemand sagen, wo mein Fehler liegt?
# include <stdio.h> # include <openfile.c> int main() { FILE * dat; char wort[82]; dat = openfile("Datei: ",1); do { fgets(wort,82,dat); printf("%s", wort); }while( fgetc(dat) != EOF); return 0; }
Vielen Dank im voraus
-
while( fgetc(dat) != EOF);
kann es sein, dass nachdem die erste Zeile gelesen wurde, der Zeiger auf die Datei durch fgetc() verschoben wird und du deswegen das erste Zeichen der folgenden Zeilen nicht bekommst?
wie wäre es mit:
do { fgets(wort,82,dat); printf("%s", wort); }while(!feof(dat)); return 0; }
Gruß Benni
-
1. Du bindest eine ".c"-Datei ein? Das ist schonmal sehr merkwürdig.
2. bist du sicher, dass du nicht ins ANSI-C-Forum wolltest?
-
Danke,
hat funktioniert.
Wofür steht denn feof ?
-
Wofür steht denn feof ?