In computing, end-of-file (commonly abbreviated EOF) is a condition in a computer operating system where no more data can be read from a data source. The data source is usually called a file or stream.
In the C Standard Library, the character reading functions such as getchar return a value equal to the symbolic value (macro) EOF
to indicate that an end-of-file condition has occurred. The actual value of EOF
is implementation-dependent (but is commonly -1, such as in glibc) and is distinct from all valid character codes.
Block-reading functions return the number of bytes read, and if this is fewer than asked for, then the end of file was reached or an error occurred (checking of errno
or dedicated function, such as ferror
is often required to determine which).