Buonasera,
devo scrivere un programma che legga e visualizzi il contenuto di un file ASCII, come per esempio eutoexec.bat.
Non ho problemi con la fgets, ho qualche problema con la fread, e ho tanti problemi con la scanf. Vado a copiare il codice e a commentarlo.
Il programma con fgets (soluzione non completamente mia) funziona bene:
 {//INIZIO PROGRAMMA
	char buffer[81];
	
	FILE *fp;
	fp=fopen("autoexec.txt", "r");
	
	if(fp==NULL) printf("Impossibile aprire file\n");
	else{//INIZIO ELSE PRINCIPALE
		printf("\nIl file autoexec.bat contiene: ");
		
		while(fgets(buffer, 80, fp) !=NULL)  
  		printf(buffer);
	
	}//FINE ELSE PRINCIPALE
	fclose(fp);
}//FINE PROGRAMMA
Il programma con fread non legge perfettamente. Non si blocca ma vengono stampati a monitor caratteri strani. Mi viene in mente quello che mi avete detto in un'altra occasione, ma vorrei conferma. 
main()
{
	char buffer[81];
	int n;
	
	FILE *fp;
	fp=fopen("autoexec.txt", "r");
	
	if(fp==NULL) printf("Impossibile aprire file\n");
	else{//INIZIO ELSE PRINCIPALE
		printf("\nIl file autoexec.bat contiene: ");
		
		while(n=(fread(buffer,1,81,fp))) 
  		printf(buffer);
	}//FINE ELSE PRINCIPALE
	fclose(fp);
}//FINE PROGRAMMA
Il programma con fscan è un disastro totale: non solo il ciclo for è fuoriluogo (ma con il while tutte le condizioni di uscita non funzionavano), ma non capisco la sintassi 	fscanf(fp, "%c", buffer);   Io mi sarei aspettato 	fscanf(fp, "%s", buffer);  o al massimo utilizzando una variabile char Variabile; mi sarei aspettato fscanf(fp, "%c", &Variabile);  ma niente di tutto questo funziona.
main()
{
	char buffer[81];
	int i;
	
	FILE *fp;
	fp=fopen("autoexec.txt", "r");
	
	if(fp==NULL) printf("Impossibile aprire file\n");
	else{//INIZIO ELSE PRINCIPALE   
		printf("\nIl file autoexec.bat contiene: ");
	
	for(i=0; i<1000; i++){	
		fscanf(fp, "%c", buffer);  //////////////////////////////////////////////
  		printf(buffer);
		}
	}//FINE ELSE PRINCIPALE
	fclose(fp);
Ho provato con eutoexec.bat e eutoexec.txt (giusto per provare) dove all'interno ho scritto con notepad dieci frasi per un totale di 700 caratteri circa.
Spero di essere stato chiaro.
Grazie.