Автор: pavelost
Решил рассказать, как можно с легкостью проверить содержимое файлов. То есть, одинаковое ли оно, или разное.
Итак, для начала:
В include, или вверх вашего мода/скрипта:
Code: Select all
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;
}
Теперь можно приступить соответственно к проверке наших файлов. Делается это очень просто, пример:
Code: Select all
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;
}