A file comparision utility. : file utilities « File Stream « C++ Tutorial






#include <iostream>  
#include <fstream>  
using namespace std;  
  
int main(int argc, char *argv[])  
{  
  register int i;  
  int numread;  
  
  unsigned char buf1[1024], buf2[1024];  
  
  ifstream f1("file1", ios::in | ios::binary);  
  if(!f1) {  
    cout << "Cannot open first file.\n";  
    return 1;  
  }  
  ifstream f2("file2", ios::in | ios::binary);  
  if(!f2) {  
    cout << "Cannot open second file.\n";  
    return 1;  
  }  
  
  do {  
    f1.read((char *) buf1, sizeof buf1);  
    f2.read((char *) buf2, sizeof buf2);  
 
    if(f1.gcount() != f2.gcount()) { 
      cout << "Files are of differing sizes.\n"; 
      f1.close();  
      f2.close();  
      return 0; 
    } 
 
    for(i=0; i<f1.gcount(); i++) {
      if(buf1[i] != buf2[i]) {  
        cout << "Files differ.\n";  
        f1.close();  
        f2.close();  
        return 0;  
      }  
    }
  
  } while(!f1.eof() && !f2.eof());  
  
  cout << "Files are the same.\n";  
  
  f1.close();  
  f2.close();  
  
  return 0;  
}
Cannot open first file.








12.7.file utilities
12.7.1.Use ifstream and ofstream to copy file
12.7.2.Check file status
12.7.3.Obtaining file size
12.7.4.A file comparision utility.
12.7.5.Get file information: size, device, creation time and last modification time
12.7.6.Count number of lines of all files passed as argument
12.7.7.Copying one file into another:
12.7.8.A simple file-comparison utility.