C/Visual C - listas dinamicas

 
Vista:

listas dinamicas

Publicado por alejandro (5 intervenciones) el 14/08/2001 05:40:35
Hola foro, tengo una consulta:

Tengo la siguiente estructura:

typedef struct nodo *LISTA;

typedef struct nodo {
int Numero;
char Nombre[30];
char Telefono[15];
char Direccion[30];
char FechaNac[10];
struct nodo *sig;
}TNodo;
LISTA milista;

como hago para levantar los datos guardados en un archivo
de texto plano con esta esctructura y cargarlo en las
listas dinamicas
O sea: leer el archivo y poner en la esctructura (mediante listas)
los datos de los clientes. Ya tengo las rutinas para
insertar las listas, lo que no se es como levantar los datos.
Mucgas gracias por contestar

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:listas dinamicas

Publicado por manuel kobashigawa (79 intervenciones) el 14/08/2001 17:32:53
creo que menos trabajoso te seria, manejarlos con un archivo binario.
si tu unico problema es la extracccion de un registro desde el archivo, entonces para ello tendrias que hallar la longitud de la estructura y leer por bloques de ese tamano.
manuel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no entendiste mi problema

Publicado por alejandro (5 intervenciones) el 15/08/2001 04:35:17
en realidad da lo mismo.
pero mi problema es que no se como levantar los registros
con la esctructura que tengo.
yo lo hice asi:
fread(&milista, sizeof(LISTA), 1, cliente);
pero cuando voy a llamar a la rutina que inserta en forma ordenada los registros se supone que le tengo que pasar cada uno de los campos
y entonces como hago?
gracias otra vez por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no entendiste mi problema

Publicado por German B. (27 intervenciones) el 15/08/2001 21:17:18
En el momento de grabar los datos, tendrías que hacer el fwrite() de cada uno de los nodos de la lista.
Al leerlos, podés hacer un fread() usando un nodo "suelto" auxiliar, que no forme parte de la lista (pero del mismo tipo LISTA). Esa estructura tendrá los datos a insertar en la lista, se los podés pasar a tu rutina. De los datos leídos el que no sirve es el puntero al próximo nodo, ya que debería ser asignado por tu rutina.
En cada fwrite() la dirección que va como primer parámetro debe ser la de una estructura (nodo) en particular, no de la lista. En fread(), si usás este método, usá la dirección de tu estructura auxiliar.
Suerte
G
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar