 |  |  | Os 2 ficheiros são diferentes? |
Os 2 ficheiros são diferentes?
#include <stdio.h>
//-- retorna 1 se ficheiros diferentes, 0 se iguais
int diferem(FILE *f,FILE *g){
int c1,c2;
c1=fgetc(f);
c2=fgetc(g);
while(c1!=EOF || c2!=EOF){
if(c1!=c2)
return 1;
c1=fgetc(f);
c2=fgetc(g);
}
return c1!=c2;
}
//--------------------------------------------
void erro(char m[]){
printf("** %s\n",m);
exit(0);
}
//--------------------------------------------
int main(int np, char *par[]){
FILE *ficha, *fichb;
if(np!=3)
erro("Numero de parametros errado");
if((ficha=fopen(par[1],"r"))==NULL ||
(fichb=fopen(par[2],"r"))==NULL)
erro("Erro de ficheiros");
if(diferem(ficha,fichb))
printf("%s e %s são diferentes\n",par[1],par[2]);
else
printf("%s e %s são iguais\n",par[1],par[2]);
return 0;
}
PC/PI - página reservada - versão 2005.02.08
 |  |  | Os 2 ficheiros são diferentes? |