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).