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....
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 !!!!!!!!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); } }
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...

Anche se i due files che gli passo sono sue normalissimi files di testo ......
Rispondi quotando
