Saludos a todos, bien mi duda es la siguiente tengo una duda sobre como hacer para recuperar los datos de una lista enlazada simple, que anteriormente he guardado. He tratado viendo vídeos en youtube y leyendo múltiples entradas en distintos sitios de internet pero continuo sin obtener resultados. Lo más que he conseguido es recuperar los datos del último nodo, les paso parte del código por si pueden darme una ayuda.
Código:
//**************
// guardar
//**************
void guardar(nodo *ptr)
{
nodo *gunodo=ptr;
ofstream salida("/home/victor/Escritorio/banco_2011.dat",ios::out|ios::ate| ios::binary|ios::app);
while (gunodo!=NULL)
{
salida.write(reinterpret_cast<const char *>(gunodo),sizeof(cliente));
gunodo=gunodo->siguiente;
}
}
//**************
// RECUPERA
//**************
nodo *recuperar(nodo *ptr2)
{nodo *recu, *cab;
int con=0;
recu =new (nodo);
// cab=ptr2;
ifstream entrada("/home/victor/Escritorio/banco_2011.dat",ios::in);
entrada.read(reinterpret_cast<char *>(recu),sizeof(cliente));
entrada.seekg(sizeof(cliente)*con,ios::beg);
while(entrada.peek()!=EOF){
recu->siguiente=cab;
cab=recu;
entrada.read(reinterpret_cast<char *>(recu),sizeof(cliente));
con++;
}
return cab;
}