Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2

Тема: SplitString

  1. #1
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±

    SplitString

    Описание:
    Разделяет строку на подстроки

    Параметры:
    source[] - обрабатываемый одномерный массив ( строка )
    dest[][] - записываемый двумерный массив ( в него будут записаны подстроки )
    delimiter - разделитель между каждым словом
    maxlength - максимальная длина подстроки

    Возвращаемое значение:
    Данная функция не возвращает определённого значения.

    Плюсы реализации:
    • Скорость выполнения кода по сравнению со стандартным split превышает в несколько раз.

    Минусы реализации:
    • N/A

    Код:
    PHP код:
    SplitString(const source[], dest[][], const delimiter '|', const maxlength sizeof(dest[])) {
        new
            
    pos = -1,
            
    count,
            
    offset;

        while (
    source[++pos] != EOS) {
            if (
    source[pos] == delimiter) {
                
    strmid(dest[count++], sourceoffsetposmaxlength);
                        
    offset pos 1;
            }
        }

        if(
    source[pos] == EOS) {
            
    strmid(dest[count], sourceoffsetposmaxlength);
        }

    Пример использования:
    PHP код:
    main()
    {
        new
            
    dest[5][6],
            
    fish_string[] = "Lorem ipsum dolor sit amet";

        
    SplitString(fish_stringdest' ');

        for(new 
    0sizeof(dest); i++)
            print(
    dest[i]);

    Автор: L0ndl3m
    Последний раз редактировалось L0ndl3m; 17.01.2020 в 15:04.

  2. 5 пользователя(ей) сказали cпасибо:
    (Wh)AnGeL (25.03.2014) Dima_Naimushin (31.03.2014) Dima_Turkow (09.07.2014) Venteda (20.12.2013) vovandolg (20.01.2016)
  3. #2
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    А как без sscanf проверить у такой функции что 2 подстроки не выходят за пределы?

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •