Compare files : File Compare « File « C / ANSI-C

Home
C / ANSI-C
1.assert.h
2.Console
3.ctype.h
4.Data Structure Algorithm
5.Data Type
6.Development
7.File
8.Function
9.Language Basics
10.Macro Preprocessor
11.Math
12.math.h
13.Memory
14.Pointer
15.setjmp.h
16.signal.h
17.Small Application
18.stdio.h
19.stdlib.h
20.String
21.string.h
22.Structure
23.time.h
24.wctype.h
C Tutorial
C++
C++ Tutorial
Visual C++ .NET
C / ANSI-C » File » File CompareScreenshots 
Compare files


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
  FILE *fp1, *fp2;
  char ch1, ch2, same;
  unsigned long l;

  if(argc!=3) {
    printf("Usage: compare <file 1> <file 2>\n");
    exit(1);
  }

  /* open first file */
  if((fp1 = fopen(argv[1]"rb"))==NULL) {
    printf("Cannot open first file.\n");
    exit(1);
  }

  /* open second file */
  if((fp2 = fopen(argv [2]"rb"))==NULL) {
    printf("Cannot open second file.\n");
    exit(1);
  }

  l = 0;
  same = 1;
  /* compare the files */
  while(!feof(fp1)) {
    ch1 = fgetc(fp1);
    if(ferror(fp1)) {
      printf("Error reading first file.\n");
      exit(1);
    }
    ch2 = fgetc(fp2);
    if(ferror(fp2)) {
      printf("Error reading second file.\n");
      exit(1);
    }
    if(ch1 != ch2) {
      printf("Files differ at byte number %lu", l);
      same = 0;
      break;
    }
    l++;
  }
  if(same
      printf("Files are the same.\n");

  if(fclosefp1 == EOF) {
    printf("Error closing first file.\n");
    exit(1);
  }

  if(fclosefp2 == EOF) {
    printf("Error closing second file.\n");
    exit(1);
  }

  return 0;
}

           
       
Related examples in the same category
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.