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
.
Contenido |
[editar] Parámetros
(Ninguno)
[editar] Valor de retorno
true si ocurrió un fin de archivo, false en caso contrario.
[editar] 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.
[editar] 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"; }
[editar] 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) |