Originariamente inviato da oregon
Bene ...

Io ti consiglierei di modificare la funzione in questo modo

codice:
struct alunno* carica()
{
   struct alunno * t;
   FILE *p = fopen("file.txt", "r");
   
   char nome[20];
   char cognome[20];
   char titolo[30];

   fscanf(p, "%s %s %s", nome, cognome, titolo);
   while (!feof(p))
   {
      t = ins_ord(t, nome, cognome, titolo);
      fscanf(p, "%s %s %s", nome, cognome, titolo);
   }

   fclose(f);

   return(t);
}
Usa un handle locale per il file e chiudilo.
Grazie mille, non avevo pensato a questa soluzione così semplice
Non ricordavo l'utilizzo di fscanf in questo modo (in realtà non lo sapevo, studio c a scuola e non l'ho mai usato così oO)

Grazie ancora, porteste anche aiutarmi per la cancellazione di un elemento dalla lista per nome?
Dovrei fare una cancellazione in testa se l'elemento è all' inizio, in coda se è alla fine e se si trova in mezzo?
Utilizzo due puntatori?