#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; }