Когда я пытаюсь определить конец файла с помощью функции feof(FILE *)
, я обнаруживаю, что он не работает так, как я ожидал: требуется дополнительное чтение, даже если поток заканчивается.Например, feof(FILE*)
не скажет true, если вызывается для файла с 10-байтовыми данными сразу после считывания 10 байт.Мне нужна дополнительная операция чтения, которая, конечно, возвращает 0, тогда feof(FILE *)
скажет: «Хорошо, теперь вы достигли конца».
Мой вопрос: почему требуется еще одна read
и как определить конецфайла или как узнать, сколько байтов осталось в файловом потоке, если я не хочу стиль feof
?
Спасибо и наилучшими пожеланиями.