- Feof
feof is a C standard library function declared in the header
stdio.h . Its primary purpose is to distinguish between cases where a stream operation has reached the end of a file and cases where theEOF
("end of file") error code has been returned as a generic error indicator, without the end of the file's actually having been reached.Function prototype
The function is declared as follows::
int feof(FILE *fp);
It takes one argument: a pointer to theFILE
structure of the stream to check.Return value
The return value of the function is an integer. A nonzero value signifies that the end of the file has been reached; a value of zero signifies that it has not.
Example code
#include
int main() { FILE *fp = fopen("file.txt", "r"); int c; c = getc(fp); while (c != EOF) { /* Echo the file to stdout */ putchar(c); c = getc(fp); } if (feof(fp)) puts("End of file was reached."); else if (ferror(fp)) puts("There was an error reading from the stream."); else /*NOTREACHED*/ puts("getc() failed in a non-conforming way."); fclose(fp); return 0; } References
* [http://groups.google.com/groups?selm=1152560118.121927@news1nwk&dmode=source "How to detect an empty file?"] , Eric Sosman, posting to the
comp.lang.c Usenet group, 10 Jul 2006
* [http://c-faq.com/stdio/feof.html Question 12.2] of the C FAQ
Wikimedia Foundation. 2010.