Namespaces
Variants

std::basic_ios<CharT,Traits>:: eof

From cppreference.net
bool eof ( ) const ;

Devuelve true si el flujo asociado ha alcanzado el fin de archivo. Específicamente, devuelve true si eofbit está establecido en rdstate() .

Consulte ios_base::iostate para la lista de condiciones que establecen eofbit .

Contenidos

Parámetros

(ninguno)

Valor de retorno

true si ha ocurrido un fin de archivo, false en caso contrario.

Notas

Esta función solo reporta el estado del flujo establecido por la operación de E/S más reciente; no examina la fuente de datos asociada. Por ejemplo, si la operación de E/S más reciente fue un get() que devolvió el último byte de un archivo, eof() devuelve false . El siguiente get() falla al leer cualquier cosa y establece el eofbit . Solo entonces eof() devuelve true .

En el uso típico, el procesamiento del flujo de entrada se detiene ante cualquier error. eof() y fail() pueden entonces utilizarse para distinguir entre diferentes condiciones de error.

Ejemplo

#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";
}

Véase también

La siguiente tabla muestra el valor de basic_ios accesores ( good() , fail() , etc.) para todas las combinaciones posibles de ios_base::iostate flags:

ios_base::iostate indicadores basic_ios accesores
eofbit failbit badbit good() fail() bad() eof() operator bool operator!
falso falso falso verdadero falso falso falso verdadero falso
falso falso verdadero falso verdadero verdadero falso falso verdadero
falso verdadero falso falso verdadero falso falso falso verdadero
falso verdadero verdadero falso verdadero verdadero falso falso verdadero
verdadero falso falso falso falso falso verdadero verdadero falso
true false true false true true true false true
verdadero verdadero falso falso verdadero falso verdadero falso verdadero
verdadero verdadero verdadero falso verdadero verdadero verdadero falso verdadero
comprueba el fin de archivo
(función)