Namespaces
Variants

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

From cppreference.net
bool fail ( ) const ;

Devuelve true si ha ocurrido un error en el flujo asociado. Específicamente, devuelve true si badbit o failbit están establecidos en rdstate() .

Consulte ios_base::iostate para la lista de condiciones que establecen failbit o badbit .

Contenidos

Parámetros

(ninguno)

Valor de retorno

true si ha ocurrido un error, false en caso contrario.

Ejemplo

#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    std::ifstream file("test.txt");
    if (!file) // operator! is used here
    {  
        std::cout << "Error al abrir el archivo\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 << "Error de E/S durante la lectura\n";
    else if (file.eof())
        std::cout << "Fin de archivo alcanzado exitosamente\n";
    else if (file.fail())
        std::cout << "Se encontraron datos no enteros\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
verdadero falso verdadero falso verdadero verdadero verdadero falso verdadero
verdadero verdadero falso falso verdadero falso verdadero falso verdadero
verdadero verdadero verdadero falso verdadero verdadero verdadero falso verdadero
comprueba si hay un error de archivo
(función)