EOF(3const) EOF(3const)

EOF - end of file or error indicator

Standard C library (libc)

#include <stdio.h>
#define EOF  /* ... */

EOF represents the end of an input file, or an error indication. It is a negative value, of type int.

EOF is not a character (it can't be represented by unsigned char). It is instead a sentinel value outside of the valid range for valid characters.

C99 and later; POSIX.1-2001 and later.

Programs can't pass this value to an output function to "write" the end of a file. That would likely result in undefined behavior. Instead, closing the writing stream or file descriptor that refers to such file is the way to signal the end of that file.

feof(3), fgetc(3)

2023-10-31 Linux man-pages 6.7