Escribir en bloc de notas con c++ [Archivo/Ficheros c++]





Cuando empezamos a aprender a programar en C++, creamos aplicaciones las cuales toman los datos que  ingresamos para cumplir con una tarea especifica, sin embargo estos datos e incluso la salida de información generada por nuestro programa se pierden al finalizar la ejecución. Entonces ¿Qué sucedería si nosotros queremos guardar ésta información en un bloc de notas para usarla más tarde?

Vamos a hacer uso de la librería fstream (file stream ó flujo de archivos) donde se encuentran las funciones necesarias para la escritura de datos en archivos.

El siguiente programa nos pide que ingresemos un nombre para él escribirlo en un bloc de notas. Lo almacena en una variable llamada "nombre", crea un objeto de la clase ofstream llamado archivo y luego crea (sí no existe) un archivo llamado "Nombre.txt" con la función open, finalmente con la función archivo guarda el nombre que el usuario a ingresado en el bloc de notas

main.cpp

#include <iostream>
#include <fstream>
#include <stdlib.h>

using namespace std;

int main(){
 string nombre;
 cout << "ingrese el nombre a escribir en el blog de notas y presione enter" << endl;
 cin >> nombre;
 ofstream archivo;
 archivo.open("Nombre.txt");
 archivo << nombre;
 cout << "El nombre se ha guardado satisfactoriamente, debe abrir el archivo Nombre.txt en la carpeta del programa para ver los resultados" << endl;
 system("pause>>null");
return 0;
}


Hagamos algo un poco mejor, un programa en el cual ingresemos una serie de datos y éste los guarde en un bloc de notas, ésto sería como un "sistema de registro" donde nuestra base de datos sería un archivo txt. 

Registro.cpp

#include <iostream>
#include <fstream>
#include <stdlib.h>

using namespace std;

int main(){
 string nombre;
 string pass;
 string correo;
 int edad;
 string web;
 cout << "Ingrese su nombre de usuario" << endl;
 cin >> nombre;
 cout << "Ingrese la contrasena que desea para su cuenta" << endl;
 cin >> pass;
 cout << "Ingrese su correo electronico" << endl;
 cin >> correo;
 cout << "Ingrese su edad" << endl;
 cin >> edad;
 cout << "Ingrese su direccion web" << endl;
 cin >> web;
 ofstream archivo;
 archivo.open("Registro.txt");
 archivo << "Nombre de usuario: " <<  nombre << endl;
 archivo << "Contrasena: " << pass << endl;
 archivo << "Correo electronico: " << correo << endl;
 archivo << "Edad: " << edad << endl;
 archivo << "Direccion web: " << web << endl;
 cout << "El registro de usuario se ha realizado satisfactoriamente, debe abrir el archivo Registro.txt en la carpeta del programa para ver los datos almacenados." << endl;
 system("pause>>null");
 return 0;
}


En éste caso tenemos 5 variables (nombre, pass, correo, edad, web) siendo éstas mismas los datos que suministrará el usuario para realizar su "registro". Nuevamente hacemos uso de el objeto de la clase ofstream llamado archivo, para luego crear un archivo llamado "Registro.txt" y almacenar los datos ingresados por el usuario. 

Nota: El archivo txt se creará en la carpeta donde tengan guardado el programa o ejecutable(.exe) 

El resultado sería lo siguiente:


¡Ayúdanos a seguir creciendo, comparte en tus Redes Sociales!

Siguiente
« Prev Post
Anterior
Next Post »

8 comentarios

Click here for comentarios
Anónimo
admin
18 de febrero de 2014, 0:30 ×

Gracias.... buena info de esta libreria

Reply
avatar
20 de febrero de 2014, 18:15 ×

¡De nada hermano! Saludos desde Venezuela (Y).

Reply
avatar
Anónimo
admin
5 de abril de 2015, 15:00 ×

gracias, anteriormente ningún programa me funcionaba porque el nombre de las librerías no estaba correcto pero ahora que he visto estos ejemplos me quedo bien.

Reply
avatar
5 de abril de 2015, 15:02 ×

¡Perfecto amigo! me alegra haberte ayudado. Gracias por comentar.

Saludos.

Reply
avatar
Anónimo
admin
18 de abril de 2015, 12:59 ×

Hola quisiera saber si se pudiera imprimir los resultados de un ciclo en el bloc de notas? intento pero solo me guarda el último resultado.
pd. Buen blog :)

Reply
avatar
25 de abril de 2015, 9:46 ×

Hola!, asegúrate de que las instrucciones de escritura en el archivo estén dentro del ciclo, ejemplo:

while(){
archivo << "Nombre de usuario: " << nombre << endl;
}

Reply
avatar
10 de septiembre de 2016, 21:55 ×

Hola Francisco buen día tengo una pequeña duda la cual no he podido resolver tengo el siguiente problema necesito crear un arreglo (array) matrices bidimencional una que capture el nombre del alumno, las calificaciones de los bimestres 1, 2, 3, 4 y 5 y al final el promedio de cada alumno durante el año.
y la verdad no se donde y ni como iniciar ojala puedas ayudarme.
por tu atencion y de antemano muchas gracias.

Reply
avatar
9 de enero de 2017, 6:33 ×

Buenas noches.
Muchas gracias por este sencillo ejemplo que resulta muy claro saludos desde CdMx

Reply
avatar