Существует контрольный символ конца файла (в наборе символов ASCII это CTRL + Z или 26 или 0x1A), но на самом деле он не был необходим для обозначения конца файла, так как ОС выпущена в 80-х годах. , Все современные ОС хранят размер файла в виде метаданных в структуре каталогов (точный формат зависит от файловой системы), а функции доступа к файлам высокого уровня проверяют размер файла, чтобы решить, когда указывать EOF для вас, программист.
Если в данных есть конец файла И у вас включен перевод в текстовом режиме (на большинстве языков это тот же параметр, который контролирует преобразования NL <-> CRLF), тогда доступ к файлу может прекратиться, когда он поражает этого персонажа EOF. В двоичном режиме чтения будут продолжаться до тех пор, пока не будет достигнут размер файла.