Как проверить пуст ли файл c

Обновлено: 07.07.2024

Язык программирования C++. Лекции и упражнения. 6-е изд (Стивен Прата)

Программирование. Принципы и практика с использованием C++ (Бьярне Страуструп)

подскажите, что делает (return -1) и тогда соответственно (return 0)?

В моём случае ничего полезного.
return 0, используемое в функции main(), только-лишь сообщает операционной системе, что программа успешно завершилась.
return -1 могло бы использоваться для работы с внешними программами. Т. е. какая-нибудь внешняя программа могла бы использовать написанную мной, по -1 можно было бы легко выявить, что моя эта программа задачу свою не выполнила и, например, сообщить об этом пользователю. -1 необязательное значение, а взятое с потолка. Т. е. любое можно использовать, достаточно будет знать, что оно должно обозначить (в моём случае неоткрытие файла).

что то не пойму как организовать в проге проверку методом fail(). он пишется после цикла считывания с файла или само считывание пишется в- цикл() > ?

что то не пойму как организовать в проге проверку методом fail(). он пишется после цикла считывания с файла или само считывание пишется в- цикл() > ?

У меня в примере сначала проверяется, что файл успешно открыт. Потом проверяется fail , т. е. успешность прочитанности значения. В случае неуспеха выбирается поведение диагностики ошибки. В моём случае ошибке присваивается номер и запоминается в переменную ERROR.
fail переводится как неудача. Если компилятор прочитал что смог и всё поломалось, то или достигнут конец файла, или не соответствует тип для записи в переменную значения. Поскольку дальнейшее чтение не имеет смысла, нужно зафиксировать проблему удобным способом.

Если проверять на fail(), то это как проверять на eof().
Только fail() включает в себя и проверку на eof() и проверку на успешное считывание.

Я не могу понять, чего Вы понять не можете.

я написал программу в которой хотел, чтоб если на пути считывания f2.get()-ом в переменную типа чар попадала цифра, то считывание прекращалось и выводило на каком символе произошел конец. но у меня несколько раз, то ничего не выводило, то выводило все подряд до EOF

char — целочисленный тип.
цифра — целое число
Читаем в целочисленный тип целое число и ждём, что сломается? Не дождётесь.

Читайте также: