Lista ligada

Como guardo una lista ligada en un fichero.
Espero tu respuesta, gracias!

1 Respuesta

Respuesta
1
Primero si no tienes el código deuna lista enlazada es así
/*Lista simplemente enlazada*/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <alloc.h>
struct datos
{
char nombre[80],fono[10];
int edad;
struct datos *siguiente;
} *inicio,*mis_amigos;
datos *aux; //Puntero aux de tipo dato
void main()
{
int i;
char cara[2];
mis_amigos=(struct datos *)malloc(sizeof(struct datos));
inicio=mis_amigos;
aux=mis_amigos;
for(i=0;i<5;i++)
{
clrscr();
do{
printf("Ingrese nombre %d :",i+1);
gets(mis_amigos->nombre);
}while(strlen(mis_amigos->nombre)==0);
do{
printf("Ingrese telefono %d :",i+1);
gets(mis_amigos->fono);
}while(strlen(mis_amigos->fono)==0);
do{
printf("Ingrese edad %d :",i+1);
gets(cara);
mis_amigos->edad=atoi(cara);
}while(mis_amigos->edad <10 || mis_amigos->edad >50);
/*se crea un nuevo puntero a datos*/
mis_amigos=(struct datos *)malloc(sizeof(struct datos));
aux->siguiente = mis_amigos; //se enlazala esructura anterior
aux=mis_amigos;
aux->siguiente = NULL;
}
puts("\n\n\n");
mis_amigos=inicio;
while(mis_amigos->siguiente !=NULL)
{
printf("%20s %20s %2d\n",mis_amigos->nombre,mis_amigos->fono,mis_amigos->edad);
mis_amigos=mis_amigos->siguiente;
}
gotoxy(30,22);printf("Datos Ingresados..");
getche();
}
ahora para guardarla ocupas
#include<fcntl.h>
#include<dos.h>
main()
{
int fd;
char c[10];
clrscr();
textcolor(BLUE);
fd=open("hola.txt",0);
// abriendo un archivo para lectura
while(read(fd,c,10)>0)
printf("%s",c);
close(fd);
delay(3850);
return 0;
}
y cada vez que guardas lo separas po ejemplo con un arroba o signo de
interrogacion
o #include <fstream.h>
int main()
{
ofstream archivo; // objeto de la clase ofstream
archivo.open("datos.txt");
archivo << "Primera línea de texto" << endl;
archivo << "Segunda línea de texto" << endl;
archivo << "Última línea de texto" << endl;
archivo.close();
return 0;
}
Esas instrucciones me guardan un archivo de caracteres, y lo que yo quiero es que me guarde una lista ligada o enlazada completa de cabeza a fin!
Guardala en un arreglo y la grabas del mismo modo y te queda la lista de inicio a fin

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas