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