====== feof() ======
''feof()'' ist in der ''[[c:lib:stdio:start|stdio]]'' definiert, die in C über ''stdio.h'', bzw in C++ über ''cstdio'' eingebunden wird.
===== Funktion =====
''feof()'' prüft, ob an einem Stream noch Daten anliegen oder der End-Of-File-Indikator gesetzt ist.
===== Signatur =====
#include
int feof( FILE* file);
**file**: Zeiger auf geöffnete Datei/Stream, der geprüft werden soll, ob noch Daten anliegen \\
\\
**Return Value**: 0, falls noch weitere Daten anliegen oder ein Wert ungleich 0, falls das Dateiende erreicht wurde.
===== Fehlerquellen =====
-
===== Beispiel =====
#include
#include
int main (void)
{
FILE *file = fopen("testfile.txt", "r");
if( file )
{
char c;
while( !feof( file ) )
{
c = fgetc( file );
printf( "%d \'%c\'\n", c, c );
}
fclose(file);
}
return EXIT_SUCCESS;
}
**Ausgabe**
Nehmen wir an, im gleichen Verzeichnis liegt die Datei 'testfile.txt' mit dem Inhalt "Hallo Welt\n":
72 'H'
97 'a'
108 'l'
108 'l'
111 'o'
32 ' '
87 'W'
101 'e'
108 'l'
116 't'
10 '
'
-1 '�'
Das Dateiende wird erreicht (c ist -1) und der Indikator wird gesetzt - damit bricht die Schleife ab.
===== Siehe auch =====
[[:|stdio]]: [[fopen()]], [[fclose()]], [[clearerr()]], [[ferror()]], [[perror()]]