Heilà Johnny_Depp!
Sicuro?...
2)if((fp = fopen("c:\\documenti\\prova.txt","r")) == NULL)
non apre il file prova.txt ma si limita soltanto a verificare se il file esiste QUINDI non puoi alla fine del tuo codice chiudere il file!!! se non lo hai prima aperto
...
questo non dà errori evidenti, ma "mangia" un pochina di memoria perché la prima fopen alloca qualcosa per i cursori nel file (poco, ok) che viene riallocato da un'altra parte alla seconda chiamata di fopen, sovrascrivendo fp, cioè il puntatore all'area di memoria in precedenza allocata....
...codice:if((fp=fopen("c:\\documenti\\prova.txt","r"))==NULL) printf("Impossibile trovare\nil file specificato nel patch\n"); else{ fp=fopen("c:\\documenti\\prova.txt", "r"); //ORA lo apro //leggo il file... fclose(fp); //e all'interno dell'ELSE lo chiudo!!! } }
HTH