Posto qui di seguito il codice di una mia funzione che dovrebbe confrontare due files dati da me in input e effettuarne una copia in caso che i due programmi sono diversi....
codice:
void contenuto(char *arga, char *argb){ 
	int c1, c2, risposta,diff=0;
 	FILE *f1 = fopen(arga,"r");
 	FILE *f2 = fopen(argb,"r");
 	c1=fgetc(f1); 	c2=fgetc(f2);
	         printf("%s %s",arga,argb);
	 	while(c1!=EOF || c2!=EOF){
	 		printf("%d-----------%d",c1,c2);
 		if(c1!=c2){
 			printf("I due files non sono uguali cosa vuoi fare?!\n1 per copiare il file1 nel file2\n2 per copiare il file2 nel file1\n3 per ignorare\n");
 			scanf("%d",&risposta);
 			if(risposta==1){
 				copia_file(arga,argb);
 				fclose(f1);
 				fclose(f2);
 				diff=1; 
				break;
 			} 
 			if(risposta==2){
 				copia_file(argb,arga);
 				fclose(f1);
 				fclose(f2);
 				diff=1;
 				break;
 			} 
		}
 	}
	 	if(diff=0){
 		printf("I due files sono uguali\n");
 		fclose(f1);
 		fclose(f2);
	 	}
 }
Il programma dovrebbe aprire i due files e confrontarli lettera per lettera, il problema è che a run-time mi accorgo che il programma non entra mai nella condizione if(c1!=c2) .............. e grazie al printf("%d--------%d,c1,c2"); riesco a vedere che il mio programma stampa a ripetizione 9999--------99999 !!!!!!!!
Anche se i due files che gli passo sono sue normalissimi files di testo ......
Perche??!?!?!?!?
(Ovviamente la funzione copia_file è corretta e da me implementata)
Spero di essere stato chiaro.... Grazie a tutti...