/**
* Description:Exercise 7-6 - write a program to compare two files, printing the first line where they differ
* Author: Gecko
* Date: 2012-11-30 16:11
* Note: The two files have the same number of Lines
**/
#include <stdio.h>
#include <string.h>
#define MAXSIZE 1000
int cmplines(char *lineone,char *linetwo,int linenum)
{
if(strcmp(lineone,linetwo)!=0)
{
printf("The different line is %d:\n",linenum);
printf("the fileone is: %s.",lineone);
printf("the filetwo is: %s.",linetwo);
return -1;
}
return 0;
}
int main(int argc,char *argv[])
{
FILE *fileone,*filetwo;
char *lineone,*linetwo;
int linenum=0;
if(argc != 3)
{
printf("differ fileone and filetwo.\n");
return 0;
}
if((fileone = fopen(argv[1],"r")) == NULL)
{
printf("Erro opening the file %s.\n",argv[1]);
return 0;
}
if((filetwo= fopen(argv[2],"r")) == NULL)
{
printf("Erro opening the file %s.\n",argv[2]);
return 0;
}
while(fgets(lineone,MAXSIZE,fileone) != NULL && fgets(linetwo,MAXSIZE,filetwo) != NULL)
{
if(cmplines(lineone,linetwo,linenum) == 0)
linenum++;
else
return 0;
}
printf("The two files are identical to each other.\n");
return 0;
}