Hola:
Pues este es mi problema:
Quiero guardar una lista en un fichero. Lo estoy haciendo así (lo he visto en StackOverflow)
pero a la hora de leer la lista que recupero de un fichero tengo un error.
Este es el código:
Código C++:
Ver original#include <fstream>
#include <iostream>
#include <list>
using namespace std;
typedef list<int> ListaEnteros;
int main()
{
ListaEnteros lista1;
lista1.push_back(1);
lista1.push_back(3);
lista1.push_back(5);
lista1.push_back(7);
lista1.push_back(9);
lista1.push_back(11);
lista1.push_back(13);
/***********guardar en fichero*******************/
int tamLista=lista1.size();
ofstream ofs("borrar.dat", ios::out|ios::binary);
ofs.write (reinterpret_cast<char*>(&tamLista),sizeof(int));
ofs.write (reinterpret_cast<char*>(&lista1),(tamLista*sizeof(int)));
ofs.close();
/*********recuperar de fichero***************/
ListaEnteros lista2;
int tamLista2;
ifstream ifs("borrar.dat",ios::in|ios::binary);
ifs.read(reinterpret_cast<char*>(&tamLista2),sizeof(int));
lista2.resize(tamLista2);
ifs.read(reinterpret_cast<char*>(&lista2),(tamLista2*sizeof(int)));
ifs.close();
/*********imprimir la lista*******************/
for (auto it=lista2.begin();it!=lista2.end();it++)
{
cout<<*it<<endl;
}
return 0;
}
Bueno, pues como siempre, gracias por adelantado