Anziché:
codice:
     f=p;                      // Riparto dal punto salvato da 'p' nel file
prova con:
codice:
rewind (f);