En este post de programación sobre C++ aprenderás a leer un archivo de texto plano, es decir, leer el contenido de un archivo txt línea por línea.

Aunque será leído por cada línea, si quieres obtener todo el contenido, puedes concatenar las cadenas.

Leer archivo de texto en C++

Para ello vamos a usar ifstream y getline.

Ejemplo de archivo

Tenemos el archivo txt con el siguiente contenido de ejemplo:

cuphead
resident evil 2
doom eternal
doom 2016

Abrir archivo

Para abrir un fichero de texto plano declaramos una variable de tipo ifstream. En este caso necesita una cadena constante, por eso es que invoco a c_str.

string nombreArchivo = "videojuegos.txt";
ifstream archivo(nombreArchivo.c_str());

Al ejecutarse ese fragmento, tendremos declarado un apuntador (aunque no estrictamente hablando) al archivo de texto en la variable archivo.

Leer contenido

Es momento de usar la función getline que lee una línea del archivo y la almacena en una variable. Por favor nota que la línea no tiene salto de línea, es una línea limpia.

string linea;
// Obtener línea de archivo, y almacenar contenido en "linea"
while (getline(archivo, linea)) {
    // Lo vamos imprimiendo
    cout << "Una línea: ";
    cout << linea << endl;
}

Poniendo todo junto

El código completo en C++ queda como se ve a continuación. Incluimos los encabezados, declaramos el archivo y lo leemos línea por línea usando el lenguaje CPP.

#include <iostream>
#include <fstream>
using namespace std;

/*
https://parzibyte.me/blog/
*/

int main() {
    string nombreArchivo = "videojuegos.txt";
    ifstream archivo(nombreArchivo.c_str());
    string linea;
    // Obtener línea de archivo, y almacenar contenido en "linea"
    while (getline(archivo, linea)) {
        // Lo vamos imprimiendo
        cout << "Una línea: ";
        cout << linea << endl;
    }
}
Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto