Buenas, tengo una especie de agenda hecha en c y me gustaria guardar los datos en un fichero que luego pueda leer. El codigo que tengo es este:
Código C:
Ver original[QUOTE]#include <stdio.h>
#include <stdlib.h>
#include "agenda.h"
int main(){
FILE *f;
int opcion, i=0;
struct agenda ag;
inicializar_agenda(&ag);
do{
printf("\n1.-Añadir contacto"); printf("\n2.-Buscar contacto"); printf("\n3.-Mostrar todos los contactos"); printf("\n4.-Abrir agenda guardada"); printf("\n¿que quiere hacer? "); switch(opcion){
case 1:
[B
]f
= fopen ("agenda.bin", "wb"); if (f == NULL) {
printf ("Error abriendo alumnos.dat\n") ; return 1 ;
}
anyadir_contacto(&ag);
fwrite (&ag
, sizeof(ag
), 1, f
); break;
case 2:
if (esta_vacia(ag))
printf("La agenda esta vacia"); else
mostrar_contacto(ag);
break;
case 3:
listar(ag);
break;
case 4:
[B
]f
= fopen ("agenda.bin", "rb"); while (fread(&ag
, sizeof(ag
), 1, f
) > 0) for(i=0;i<ag.numContactos;i++)
fprintf(f
,"%s %d %s %s\n", ag.
conjunto[i
].
nombre, ag.
conjunto[i
].
telefono, ag.
conjunto[i
].
email, ag.
conjunto[i
].
web) ;[/B
] }
}while(opcion!=5);
return 0;
}
[/QUOTE]
El fichero se crea en el caso 1, pero luego no lo saca por pantalla en el caso 4 ¿Que puede estar mal?