Salve a tutti.
Ho la necessità di salvare le informazioni che sono contenute in un vecotr su file.
Il vector contiene oggetti di una classe da me definita (Om).
Salvo sul file prima la dimensione del vector e poi con un ciclo il vector stesso.
Ecco il codice della funzione che salva il file:
codice:
ofstream outfile("mappa",ios_base::binary);
int dim = mappa->size();
outfile.write( (char*) (&dim),sizeof(dim) );
vector<Om>::iterator it = mappa->begin();
while(it!=mappa->end() )
{
outfile.write( (char*) (&(*it)), sizeof(Om) );
it++;
}
Per ricostruire il vector leggo prima la dimensione e poi ricostruisco il vector.
Il codice è:
codice:
ifstream inpfile("mappa",ios_base::binary);
int dim=0;
inpfile.read( (char*) &dim,sizeof(dim));
Om o;
for(int i=0; i<dim;i++)
{
inpfile.read( (char*) &o, sizeof(o) );
mappa->insert(mappa->end(),o);
}
Il problema è che quando vado a leggere il file, il programma va in crash.
Ho l'impressione che ci sia qualche errore nella funzione che salva il file, qualcuno può darmi delucidazioni?
Grazie anticipatamente.
Saluti