Tema: Ficheros
Ver Mensaje Individual
  #5  
Antiguo 01-06-2005
mminorm mminorm is offline
Miembro
 
Registrado: may 2005
Posts: 23
Reputación: 0
mminorm Va por buen camino
Ficheros

Prueba este otro codigo, imagino ke estas usando algun tipo de registro, lista enlazada o algo asi:

void nodo::guardar(void)//guarda en un fichero
{
nodo *AUX = NULL;
if (obj.l != NULL)
{
AUX = obj.l;//obj,l es un objeto ke contiene la cabeza de una lista enlazada
ofstream datos("fichero.txt");
if (!datos)
ShowMessage( "No se pudo abrir el archivo");
while (AUX != NULL)
{
//tienes ke declarar una variable por cada dato del registro
char nombre[15];
char apellido1[15];
char apellido2[15];
char cedula[10];
char telefono[15];
char celular[15];
char provincia[15];
StrCopy(nombre, AUX->info.nombre);
StrCopy(apellido1, AUX->info.apellido1);
StrCopy(apellido2, AUX->info.apellido2);
StrCopy(cedula, AUX->info.cedula);
StrCopy(telefono, AUX->info.telefono);
StrCopy(celular, AUX->info.celular);
StrCopy(provincia, AUX->info.provincia);
if (AUX!=NULL)
{
datos.write ((unsigned char *) & nombre, sizeof(nombre));
datos.write ((unsigned char *) & apellido1, sizeof(apellido1));
datos.write ((unsigned char *) & apellido2, sizeof(apellido2));
datos.write ((unsigned char *) & cedula, sizeof(cedula));
datos.write ((unsigned char *) & telefono, sizeof(telefono));
datos.write ((unsigned char *) & celular, sizeof(celular));
datos.write ((unsigned char *) & provincia, sizeof(provincia));
}
AUX = AUX->sig;
}
datos.close();
datos.close();
}
}
void nodo::cargar (void) //carga informacion desdel el fichero
{
persona p;//mi registro de informacion
ifstream datos ("fichero.txt");
obj.l=NULL;//recuerda ke obj.l es la cabeza de mi lista enlazada

if (!datos)
ShowMessage("No se pudo abrir el archivo");
else
{
do
{
//tienes ke cargar la informacion del archivo en cada dato del registro
datos.read ((unsigned char *) & p.nombre, sizeof(p.nombre));
datos.read ((unsigned char *) & p.apellido1, sizeof(p.apellido1));
datos.read ((unsigned char *) & p.apellido2, sizeof(p.apellido2));
datos.read ((unsigned char *) & p.cedula, sizeof(p.cedula));
datos.read ((unsigned char *) & p.telefono, sizeof(p.telefono));
datos.read ((unsigned char *) & p.celular, sizeof(p.celular));
datos.read ((unsigned char *) & p.provincia, sizeof(p.provincia));
if (!datos.eof())
obj.insertar(p);
}
while (!datos.eof());
}
datos.close();
datos.close();
}

espero t sirva, si no t funcionara me podrias decir ke clase de estructura estas utilizando. Estamos en contacto

Última edición por mminorm fecha: 01-06-2005 a las 20:27:48.
Responder Con Cita