Spec-Zone.ru › C++

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 << "File opening failed\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 << "I/O error while reading\n";
    else if (file.eof())
        std::cout << "End of file reached successfully\n";
    else if (file.fail())
        std::cout << "Non-integer data encountered\n";
}

См. также

В следующей таблице показано значение доступа к basic_ios (good(), fail() и т.д.) для всех возможных комбинаций флагов ios_base::iostate:

Флаги ios_base::iostate Доступные методы basic_ios
eofbit failbit badbit good() fail() bad() eof() operator bool operator!
false false false true false false false true false
false false true false true true false false true
false true false false true false false false true
false true true false true true false false true
true false false false false false true true false
true false true false true true true false true
true true false false true false true false true
true true true false true true true false true
feof
проверяет конец файла
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_ios/eof

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API