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

Описание: Уроки по скриптингу
Модератор: SJplayer

SJplayer M
Автор темы, Модератор
Модератор
Аватара
SJplayer M
Автор темы, Модератор
Модератор
Сообщения: 196
Зарегистрирован: 25 мая 2013
С нами: 10 лет 10 месяцев

#1 SJplayer » 9 июня 2013, 19:10

Проверяем равенство файлов
Автор: pavelost

Решил рассказать, как можно с легкостью проверить содержимое файлов. То есть, одинаковое ли оно, или разное.
Итак, для начала:
В include, или вверх вашего мода/скрипта:

Код: Выделить всё

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)!=*then return false
    return 
true
}  


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

Код: Выделить всё

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
}  


Вернуться в «Уроки»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя
Боты: Bing [Bot]