[C con Clase] Problema de escritura y lectura multiple

Alberto tuit.alberto.sinc en gmail.com
Lun Jul 6 11:06:29 CEST 2015


Buenas tardes.

De antemano, decir que uso DEV-c++ version 4.9.9.2

Llevo ya un tiempo peleandome con este problema, y al verdad ya no se por donde van los tiros. Primero les dejo el codigo y luego escribo la duda

Persona P("Alberto","Tuit","Jara",25),P2;
vector<Persona> v1(6);
vector<Persona> v2(6);  
                                             
for (int i=0;i<v1.size();i++){
 v1[i]=P;
}      
                                             
 ofstream fsalida("BBDDPersona.dat", ios::out | ios::binary);

for (int i=0;i<v1.size();i++){                                                     fsalida.write(reinterpret_cast<char *>(&v1[i]),sizeof(v1[i]));
    }
fsalida.close();
                                         
ifstream fentrada("BBDDPersona.dat", ios::in | ios::binary);
for (int i=0; i<v2.size();i++){
                                                         fentrada.read(reinterpret_cast<char *>(&v2[i]), sizeof(v2[i]));
   }

for (int i=0; i<v2.size();i++){
   cout << v2[i].GetNombre() << endl;
   cout << v2[i].GetApellido1() << endl;
   cout << v2[i].GetApellido2() << endl;                                                                      cout <<v2[i].GetEdad(<<endl;
   cout<<endl;
   }                              
fentrada.close();

Teniendo la clase Persona 4 campos 3 string "nombre apellido1 y apellido2"  y un int "Edad" y como funciones constructores setters y getters.

Bueno, el problema está en que el programa crashea despues de la lectura, no se si es por un fallo de liberación de memoria o porque.

Muchas gracias por su tiempo.
Alberto tuit


Más información sobre la lista de distribución Cconclase