View Full Version : [C] Confrontare due file... c'è una funzione diff?
In C c'è una funzione diff... per vedere se due file sono uguali oppure no?
Ziosilvio
17-05-2007, 21:54
No, non c'è.
Puoi fartene tu una a mano con fread, leggendo byte per byte.
Però, se sei col Prompt dei comandi di Windows, c'è il comando comp.
altrimenti chiami il comando diff di linux e vedi il valore in uscita
yorkeiser
18-05-2007, 11:09
Senza ottimizzare nè gestire le eccezioni, eccoti un'idea:
int confronta()
{
int uguali = 1;
FILE *fp,*fp2;
char c1,c2;
fp=fopen("file1","r");
fp2=fopen("file2","r");
while ( ((c1=getc(fp))!=EOF) && ((c2=getc(fp2))!=EOF) )
if (c1!=c2)
uguali=0;
fclose(fp);
fclose(fp2);
return uguali;
}
Senza ottimizzare nè gestire le eccezioni, eccoti un'idea:
int confronta()
{
int uguali = 1;
FILE *fp,*fp2;
char c1,c2;
fp=fopen("file1","r");
fp2=fopen("file2","r");
while ( ((c1=getc(fp))!=EOF) && ((c2=getc(fp2))!=EOF) )
if (c1!=c2)
uguali=0;
fclose(fp);
fclose(fp2);
return uguali;
}
Vi ringrazio... al momento visto che sto usando linux e il programma gira sotto linux ho fatto una execlp("dff","diff",nomefile1,nomefile2,NULL)... comunque yorkeiser prendo per buona anche la tua dovessi per qualche ragione cambiare ciò che ho fatto... Thanks
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.