C++:
Lectura de un archivo de texto

Cómo hacerlo:

Aquí tienes un ejemplo sencillo de cómo leer un archivo de texto línea por línea utilizando fstream:

#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ifstream archivo("ejemplo.txt");
    std::string linea;

    if (archivo.is_open()) {
        while (getline(archivo, linea)) {
            std::cout << linea << '\n';
        }
        archivo.close();
    } else {
        std::cout << "No se pudo abrir el archivo." << std::endl;
    }
    
    return 0;
}

Salida de muestra si ejemplo.txt contiene:

Hola, este es un archivo de ejemplo.
Segunda línea del archivo.

Sería:

Hola, este es un archivo de ejemplo.
Segunda línea del archivo.

Profundización:

En el pasado, leer archivos en C++ era más engorroso y menos seguro debido a la necesidad de manejar el archivo como un array de caracteres puro. Con la estandarización de la biblioteca de C++, fstream se convirtió en la herramienta estándar para la E/S de archivos debido a su encapsulamiento y manejo de recursos.

Alternativas modernas a fstream incluyen bibliotecas como Boost.Iostreams o el uso de operaciones de sistema específicas del OS. Respecto a la implementación, fstream se basa en las funciones de más bajo nivel proporcionadas por C, ofreciendo una interfaz segura de tipo orientado a objetos sobrepuesta a estas.

Una cuestión clave a considerar es la gestión de errores; verificar is_open() es importante para evitar problemas al abrir archivos. Otra práctica importante es siempre cerrar el archivo con close() para liberar recursos, aunque los objetos de flujo de archivo lo harán automáticamente al salir de su ámbito.

Ver También: