std::basic_ios<CharT,Traits>::eof
bool eof() const; |
||
Devuelve true si el flujo asociado ha llegado al final del archivo. Específicamente, devuelve true si eofbit está establecido en rdstate().
Véase ios_base::iostate para obtener la lista de condiciones que establecen eofbit.
Parámetros
(Ninguno)
Valor de retorno
true si ocurrió un fin de archivo, false en caso contrario.
Notas
Esta función solo informa el estado del flujo tal como lo estableció la operación de E/S más reciente; no examina la fuente de datos asociada. Por ejemplo, si la E/S más reciente fue una llamada a get() que devolvió el último byte de un archivo, eof() devuelve false. El siguiente get() no lee nada 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() se pueden utilizar para distinguir entre diferentes condiciones de error.
Ejemplo
#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
std::ifstream file("test.txt");
if (!file) // aquí se usa operator!
{
std::cout << "Error al abrir el archivo\n";
return EXIT_FAILURE;
}
// Un bucle de E/S típico de C++ utiliza el valor de retorno de la función
// de E/S como la condición de control del bucle, aquí se usa operator bool()
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 << "Se alcanzó el fin de archivo con éxito\n";
else if (file.fail())
std::cout << "Se encontraron datos no enteros\n";
}
Véase también
| ios_base::iostate flags | basic_ios accessors | |||||||
| 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 |
cheques para el final de archivo Original: checks for the end-of-file The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (función) |