Tu il file lo apri in lettura, quindi potrebbe essere che non te lo apre proprio perchè non l' hai ancora creato.
Quindi prova a fare (una sola volta) una fopen in scrittura:
codice:
fp=fopen(file,"w");
fclose(fp);
Una volta aperto il file in scrittura se non esiste, te ne creerà uno nuovo.
Per cui la prossima volta che apri il file in lettura sei sicuro che quel file esiste.
Anche questo era altrettanto ovvio (scherzo ).