C Program to Compare two Text or Data files
Compare two files in a C Programming
Program : C Program to Compare two text/data files in C Programming
- Check whether two files are identical or not.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include<stdio.h> int main() { FILE *fp1, *fp2; int ch1, ch2; char fname1[40], fname2[40]; printf("Enter name of first file :"); gets(fname1); printf("Enter name of second file:"); gets(fname2); fp1 = fopen(fname1, "r"); fp2 = fopen(fname2, "r"); if (fp1 == NULL) { printf("Cannot open %s for reading ", fname1); exit(1); } else if (fp2 == NULL) { printf("Cannot open %s for reading ", fname2); exit(1); } else { ch1 = getc(fp1); ch2 = getc(fp2); while ((ch1 != EOF) && (ch2 != EOF) && (ch1 == ch2)) { ch1 = getc(fp1); ch2 = getc(fp2); } if (ch1 == ch2) printf("Files are identical n"); else if (ch1 != ch2) printf("Files are Not identical n"); fclose(fp1); fclose(fp2); } return (0); } |
Explanation :
- Firstly Declare two file pointers for two files.
- Open two files in read mode.
- Now Inside while loop read both files character by character.
- Check both characters whether they are equal or not.
- If inside if statement ch1 = EOF and ch2=EOF then both files are said to be equal otherwise both files are non identicle.