Leer archivo de texto con C++

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;
    }
}

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *