std::basic_ios<CharT,Traits>:: eof
|
bool
eof
(
)
const
;
|
||
Возвращает
true
если связанный поток достиг конца файла. В частности, возвращает
true
если
eofbit
установлен в
rdstate()
.
См.
ios_base::iostate
для списка условий, которые устанавливают
eofbit
.
Содержание |
Параметры
(нет)
Возвращаемое значение
true если достигнут конец файла, false в противном случае.
Примечания
Эта функция сообщает только о состоянии потока, установленном последней операцией ввода-вывода; она не проверяет связанный источник данных. Например, если последней операцией ввода-вывода был
get()
, который вернул последний байт файла,
eof()
возвращает
false
. Следующий вызов
get()
не сможет ничего прочитать и установит
eofbit
. Только тогда
eof()
вернёт
true
.
В типичном использовании обработка входного потока останавливается при любой ошибке.
eof()
и
fail()
затем могут быть использованы для различения различных условий ошибки.
Пример
#include <cstdlib> #include <fstream> #include <iostream> int main() { std::ifstream file("test.txt"); if (!file) // operator! is used here { std::cout << "Ошибка открытия файла\n"; return EXIT_FAILURE; } // typical C++ I/O loop uses the return value of the I/O function // as the loop controlling condition, operator bool() is used here for (int n; file >> n;) std::cout << n << ' '; std::cout << '\n'; if (file.bad()) std::cout << "Ошибка ввода-вывода при чтении\n"; else if (file.eof()) std::cout << "Конец файла успешно достигнут\n"; else if (file.fail()) std::cout << "Обнаружены нецелочисленные данные\n"; }
`, `
` и `
Смотрите также
Следующая таблица показывает значения basic_ios аксессоров ( good() , fail() и др.) для всех возможных комбинаций ios_base::iostate флагов:
| ios_base::iostate флаги |
basic_ios
аксессоры
|
|||||||
eofbit
|
failbit
|
badbit
|
good() | fail() | bad() | eof() | operator bool | operator! |
| ложь | ложь | ложь | истина | ложь | ложь | ложь | истина | ложь |
| ложь | ложь | истина | ложь | истина | истина | ложь | ложь | истина |
| ложь | истина | ложь | ложь | истина | ложь | ложь | ложь | истина |
| ложь | истина | истина | ложь | истина | истина | ложь | ложь | истина |
| истина | ложь | ложь | ложь | ложь | ложь | истина | истина | ложь |
| истина | ложь | истина | ложь | истина | истина | истина | ложь | истина |
| истина | истина | ложь | ложь | истина | ложь | истина | ложь | истина |
| истина | истина | истина | ложь | истина | истина | истина | ложь | истина |
|
проверяет достижение конца файла
(функция) |