Grazie mille, non avevo pensato a questa soluzione così sempliceOriginariamente inviato da oregon
Bene ...
Io ti consiglierei di modificare la funzione in questo modo
Usa un handle locale per il file e chiudilo.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); }
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?