(sto un po' arruginito col C...)
se aggiungessi il \n alla fine del format della scanf?
cioè:
fscanf(fp,"%ld%s%s%s%d\n",&matr,cognome,nome,cod,& voto) != EOF
fscanf torna 0 se trova caratteri da leggere ma il match con il formato non va a buon fine...
siccome come ultimo match leggi un intero il \n viene ignorato, quindi rimane come carattere pendente che alla successiva scansione viene associato al &ld , fallendo...
magari sto dicendo cavolate...anche perchè questo non spiega perchè agli altri funziona XD
ma alla fine tentar non costa nulla![]()