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

    Всего на сайте: 10
    Гостей: 5
    Пользователи: - отсутствуют
    Роботы: Google AdSense, Google AdSense, Yandex Bot, crawl Bot, Google AdSense

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 6-03-2012, 18:24 Просмотров: 6643

    parse Функция получает содержание строки по аргументам.

    У меня всегда было туго с Русским языком, по этому заголовок немного не по русски звучит. Смысл функции в том, что бы из какой либо строки получить нужные аргументы по отдельности. Ну например вам надо считать файл user.ini и разобрать строку
    "loopback" "" "abcdefghijklmnopqrstu" "de"
    по параметрам.

    Инфо из string.inc:
    /* Gets parameters from text.
    * Example: to split text: "^"This is^" the best year",
    * call function like this: parse(text,arg1,len1,arg2,len2,arg3,len3,arg4,len4)
    * and you will get: "This is", "the", "best", "year"
    * Function returns number of parsed parameters. */
    native parse(const text[], ... );


    Синтаксис:
    parse(const text[], arg1,len1,arg2,len2, ... , ... , argN,lenN )

    • const text[] - Текст для разбивки по аргументам
    • arg1 - Первый аргумент (первое слово)
    • arg2 - Второй Аргумент
    • Далее сколько аргументов будет, столько раз и повторяется arg4,arg5.
    Функция вернет количество полученных аргументов.

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

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

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[string.inc] parse"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        
        new text[128] = {"Argument1 Arg2 ^"Tretiy argument^""}
        
        new arg1[40]
        new arg2[40]
        new arg3[40]
            
        new num = parse(text,arg1,charsmax(arg1),arg2,charsmax(arg2),arg3,charsmax(arg3))
        
        server_print("^n^nArg1[%s],Arg2[%s],Arg3[%s]^n^nParam:%d^n^n",arg1,arg2,arg3,num)

    }


    Описание:
    Для наглядности примера создается массив text , с тремя аргументами.
    Обратите внимание на третий аргумент, он стоит в кавычках, это необходимо для того, если у вас один аргумент может содержать пробел, то есть состоит не из одного слова. Знак ^ экранирует кавычки.

    Далее создаем три массива для получения аргументов и получаем необходимые нам аргументы из заранее подготовленного текста в соответствующие массивы. После чего выводим их содержание в консоль сервера.

    Для того что бы по быстрее понять как работает функция, попробуйте с начала уменьшить, а затем увеличить количество аргументов.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Наверх

Реклама