Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 8
    Гостей: 4
    Пользователи: Myma
    Роботы: Mail Ru, Mail Ru, crawl Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 28-12-2011, 14:58 Просмотров: 3070

    file_size Функция получает информацию о размере файла и количестве строк

    Любые размеры важны, иначе зачем бы в обще были размеры, если величина чего то не имеет значения - для нее не придумывают систему исчисления,а раз такова придумана, то размер имеет значение. Ой, маленький калабмурчик получился, ну да ладно, вернемся к теме функции file_size.

    Инфо из file.inc:
    /* Returns a file size in bytes if flag is set to 0.
    * When flag is set to 1 returns number of lines in the file,
    * and when flags is 2, function returns 1 if the file ends
    * with line feed. If file doesn't exist returns -1. */
    native file_size(const file[], flag=0);


    Синтаксис:
    file_size ( const file[], [ flag ] )

    • const file[] - Имя файла
    • [ flag ] - Флаг:
      • Если флаг 0, то будет получен размер в байтах.
      • Если флаг 1, то количество строк в файле.
      • Если флаг 2 и файл заканчивается на пустую строку будет возвращена 1. Если файл не существует -1



    Тип функции:
    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[file.inc] file_size"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    public plugin_init()
    {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        //Создание файла с текстом
        write_file("NewName.txt","My Firest Text Hellow Word 1",0)
        write_file("NewName.txt","My Firest Text Hellow Word 2",1)

        //Размер файла в байтах
        server_print("File size: %d",file_size("NewName.txt",0))

        //Количество линий в файле
        server_print("Lines in file: %d",file_size("NewName.txt",1))

        //Файл заканчивается на пустую строку или нет
        server_print("XZ file: %d",file_size("NewName.txt",2))

        //Если файл не существует
        server_print("No file: %d",file_size("NewNameNOFILE.txt",0))
    }


    Описание:
    Из синтаксиса вы уже поняли что функция боле функциональна чем просто получить размер файла, она способна получить размер файла в байтах, количество строк в файле и даже на что заканчивается файл, а если файла не существует то тоже не выдавать ошибку, а вернуть соответствующее значение.

    В приведенном примере рассматриваются все 4 возможных варианта работы функции.
    Что бы не гадать есть у вас какой то файл или нет, в начале будет создан файл NewName.txt с двум почти одинаковыми строками, далее работа будет производиться именно с ним. После перезагрузки сервера, в его консоль будет выведено 4 текстовых сообщения о файле в том же порядке что и флаги в описании синтаксиса, вот результат работы плагина на моем сервере для тестирования плагинов:
    File size: 60
    Lines in file: 3
    XZ file: 1
    No file: -1
    У вас должно получиться тоже самое.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Наверх

Реклама