Como guardo una lista ligada en un fichero. Espero tu respuesta, gracias!
1 Respuesta
Respuesta de riquezada
1
1
riquezada, informatica electronica y control automatico diseño de circuitos...
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