Encoders
>
More...
>
C
>
Program
/* Program to compare two files, printing the first line where they
differ. */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLINE 80
main(int argc, char *argv[])
{
FILE *fp[2];
int i;
char line[2][100], *lp[2];
if(argc!=3)
{
fprintf(stderr,"Usage: filecomp filename1 filename2\n");
return 1;
}
for(i=0;i<2;i++)
if((fp[i]=fopen(argv[i+1],"r"))==NULL)
{
fprintf(stderr,"Can't open %s\n",argv[i]);
return 1;
}
do
{
lp[0]=fgets(line[0],MAXLINE,fp[0]);
lp[1]=fgets(line[1],MAXLINE,fp[1]);
}while(!strcmp(line[0],line[1])&&lp[0]!=NULL&&lp[1]!=NULL);
if(lp[0]==NULL && lp[1]==NULL)
printf("Both files are same.\n");
else if(lp[0]==NULL)
printf("File 1 finishes here: %s",line[0]);
else if(lp[1]==NULL)
printf("File 2 finishes here: %s",line[1]);
else
printf("Files differ here:\nFile 1:%sFile 2:%s",line[0],line[1]);
return 0;
}
|