Lectura de archivo línea por línea con ifstream en C++
¡Hola, colegas! Soy nuevo en C++ y me encontré con un problema al leer un archivo de texto. Necesito leer el archivo línea por línea y procesar cada línea. Estoy usando ifstream, pero algo no funciona.
Aquí está mi código:
```cpp
#include
#include
#include
int main() {
std::ifstream file("data.txt");
std::string line;
while (!file.eof()) {
file >> line;
std::cout << line << std::endl;
}
file.close();
return 0;
}
```
El problema es que cuando ejecuto el programa, solo imprime la primera palabra de cada línea, no la línea completa. Por ejemplo, si el archivo contiene "Hello world", solo imprime "Hello". He leído que debería usar getline, pero no entiendo cómo hacerlo correctamente. También he oído que usar eof() es una mala práctica, pero ¿por qué?
¿Pueden explicarme cómo leer un archivo línea por línea correctamente con ifstream? Me gustaría ver un ejemplo funcional con manejo de errores (por ejemplo, si el archivo no se puede abrir).
No answers yet.
Inicia sesión para dejar una respuesta