Modifica il codice di apertura del file con:
in questo modo, in caso di errore nell'apertura del file:codice:if ((file = fopen("materiali.txt", "r")) == NULL) { perror("impossibile aprire il file"); exit(-1); }
1) il programma termina invece di continuare, evitando quindi di crashare per le successive operazioni di lettura da file che non potrebbero aver luogo;
2) ottieni un messaggio di errore che può darti qualche informazione utile per il debug.
Se l'apertura va a buon fine, l'errore è da ricercare probabilmente nel file e/o nel suo contenuto: sicuro di aprire il file giusto con i dati giusti con la formattazione giusta?