Sei *sicuro* che il file sia regolarmente aperto? Tu non controlli il valore di fp dopo la fopen ... sicuro che non sia NULL?