h1

Программа сравнения файлов

Январь 3, 2011

Следующая программа сравнивает два файла, используя функции файловой системы С++ reaf(), eof(), gcount(). Исходный код:

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
register int i;

unsigned char buf1[1024], buf2[1024];

ifstream f1(«file1.txt», ios::in | ios::binary);
if(f1)
{
cout << «Unable to open file.\n»;
return 1;
}

ifstream f2(«file2.txt», ios::in | ios::binary);
if(f1)
{
cout << «Unable to open file.\n»;
return 1;
}

cout << «File comparison…\n»;

do {
f1.read((char *) buf1, sizeof buf1);
f2.read((char *) buf2, sizeof buf2);

if(f1.gcount() != f2.gcount())
{
cout << «Files have different sizes.\n»;
f1.close();
f2.close();
return 0;
}
} while(!f1.eof() && !f2.eof());

cout << «Files are the same.\n»;

f1.close();
f2.close();

cin.get();
return 0;
}

Реклама

2 комментария

  1. Только было бы неплохо сперва проверять размер файлов, а потом уже их гонять. Правда я не знаю как это сделать только средствами STL


    • А где, собственно говоря, сравнение??



Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: