Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Функция Проверяем равенство содержимого файлов.

pavelost

Специалист
Здравствуйте, уважаемые пользователи.
Решил рассказать, как можно с легкостью проверить содержимое файлов. То есть, одинаковое ли оно, или разное.
Итак, для начала:

В include, или вверх вашего мода/скрипта:

PHP:
new OPSTR[2][500];
stock bool:operator==(File:f1,File:f2)
{
	if flength(f1) != flength(f2) *then return false;
	for ;fread(f1,OPSTR[0]), fread(f2,OPSTR[1]); do
	    if strcmp(OPSTR[0],OPSTR[1],true)!=0 *then return false;
	return true;
}
Прошу новичкам не удивляться, если что-то не понятно в данном коде. Это стандартный синтаксис pawn.

Теперь можно преступить соответственно к проверке наших файлов. Делается это очень просто, пример:

PHP:
public OnFilterScriptInit()
{
	new File:mf1,File:mf2; // Объявляем 2 переменные типа File
	mf1=fopen("f1.txt",io_read); // Открываем для чтения первый файл
	mf2=fopen("f2.txt",io_read); // Открываем для чтения второй файл
	if mf1==mf2 *then // Конструкция mf1==mf2 проверяет содержимое файлов. Если они равны, возвращает 1. Иначе - 0.
		print("Содержимое файлов одинаковое");
	else
		print("Содержимое файлов разное");
	fclose(mf1); // Закрываем первый файл
	fclose(mf2); // Закрываем второй файл
	return 1;
}
Вот в принципе и всё. Ничего нет сложного.
Автор: pavelost.
Критика приветствуется.
 
Последнее редактирование модератором:
Сверху Снизу