Hola, necesito que me ayuden a aclarar algo sobre un programa, hice un programa donde ingreso cualquier palabra y esta se almacena en un arreglo de 3 posiciones, pero al mismo tiempo son exportados a un archivo externo llamado "lectura.dat", como bien se sabe cuando se hace un programa sencillo en c++, los datos se guardan en memoria temporalmente y cuando se cierra el programa todo lo que alla adentro se va, al grano, yo cuando exporto las siguientes palabras de ejemplo
casa-loro-perro,
estas a la hora de volver abrir el programa, se posicionan de nuevo en el arreglo?
Código C++:
Ver original#include <iostream>
#include <iomanip>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
int opcion; //variable para escoger el case en el swith
char palabras[3][100];
int i=0;
int contador; //char de 100 elementos para guardar cualquier palabra
string respuesta; //pertenece al while
while(respuesta!="N" && respuesta!="n")
{
cout<<"Digite la opcion#1, para escribir en el archivo de lectura!!!"<<endl;
cout<<"Digite la opcion#2, para mostrar el archivo de lectura!!!"<<endl;
cout<<"Digite la opcion#3, para mostrar el archivo de escritura!!!"<<endl;
cout<<"Digite la opcion#4, para mostrar la matriz!!!"<<endl;
cout<<endl;
cout<<"Que opcion desea realizar?"<<endl;
cin>>opcion;
ifstream ArchivoI2("i.dat", ios::in);
ArchivoI2>>i;
switch(opcion)
{
case 1:
{
if(i<3)
{
ofstream ArchivoLectura("Lectura.dat", ios::app); //el oftream abre o crea un archivo de escritura, el ios::out abriera el archivo y escrbiera algo nuevo en el
ofstream ArchivoContador("Contador.dat", ios::out);
ofstream ArchivoI("i.dat", ios::out);
if(!ArchivoLectura) //if por si el archivo no existe
{
cerr<<"No se pudo abrir el archivo"<<endl;
cout<<endl;
}
cout<<"Ingrese algo en letras:"<<endl; //se ingresa cualquier palabra
cin>>palabras[i];
ArchivoLectura<<palabras[i]<<endl; //la palabra pasa al archivo externo
contador=i;
i++;
ArchivoContador<<contador;
ArchivoI<<i;
}
else
{
cout<<"Memoria Llena"<<endl;
cout<<endl;
}
}
break;
case 2:
{
ifstream ArchivoLectura2("Lectura.dat", ios::in); //ifstream sirve para mostrar el archivo, el ios::in lo muestra en consola
ifstream ArchivoContador2("Contador.dat", ios::in);
if(!ArchivoLectura2) //if por si no existe el archivo
{
cerr<<"No se pudo abrir el archivo!!"<<endl;
cout<<endl;
}
ArchivoContador2>>contador;
for(int i=0;i<(contador+1);i++)
{
ArchivoLectura2>>palabras[i]; //se mostrara lo que hay en el archivo anterior
}
for(int i=0;i<(contador+1);i++)
{
cout<<palabras[i]<<endl;
}
}
break;
case 3:
{
ifstream ArchivoEscritura("Escritura.txt", ios::in); //se mostrara el archivo de escritura
if(!ArchivoEscritura) //if por si no existe
{
cerr<<"No se pudo abrir el archivo!!"<<endl;
cout<<endl;
}
}
break;
case 4:
{
for(int i=0;i<(contador+1);i++)
{
cout<<palabras[i]<<endl;
}
}
break;
}
cout<<"Desea realizar otra accion s/n?"<<endl;
cin>>respuesta;
}
return 0;
}