No es posible imprimir cualquier elemento de la lista apropiadamente. Arroja "Error de segmentación" cuando la lista de contactos contiene información, y por lo tanto, pierde los contactos en memoria de forma permanente.
int guardar()
{
FILE *f = fopen("contactos.txt", "w");
if (f == NULL) {
printf("Error al abrir el archivo\n");
return 0;
}
struct persona *t = head->next;
while (t != NULL && t != tail){
if (t->next != NULL)
{
fprintf(f, "Nombre: %s\n", t->nombre);
fprintf(f, "Apellidos: %s\n", t->apellidos);
fprintf(f, "Teléfono: %s\n", t->telefono);
fprintf(f, "Email: %s\n\n", t->email);
t = t->next;
}
return 0;
}
fclose(f);
printf("\nAVISO DEL SISTEMA: Contactos guardados exitosamente en contactos.txt\n");
return 0;
}
No marca más un error de segmentación, sin embargo se necesita más trabajo para solucionar otro issue, la lista solo imprime la ultima persona en ser añadida e ignora las demás.
No es posible imprimir cualquier elemento de la lista apropiadamente. Arroja "Error de segmentación" cuando la lista de contactos contiene información, y por lo tanto, pierde los contactos en memoria de forma permanente.