Sì io le utilizzo in ordine. Allora funziona così: una volta salvato il file con tutti i dati delle strutture (in ordine: Libro, Autore, CasaEditrice, Editore), devo rileggere tutti i dati per poter poi aggiungere altri libri di quello stesso autore. Quindi faccio così nella funzione:
codice:void Leggi(Libro* l,Autore*a,CasaEditrice*c,Editore* e) { File* file=NULL; file=fopen("Libri.dat","rb"); if(file==NULL) exit(-1); fread(l,sizeof(Libro),l->totlibri, file); fread(a,sizeof(Autore),1, file); fread(c, sizeof(CasaEditrice),1,file); fread(e, sizeof(Editore),e->toteditori,file); fclose(file); }
Quando però vado sul main e richiamo la funzione, crasha.

Rispondi quotando