L0ndl3m
15.12.2013, 19:53
Описание:
Разделяет строку на подстроки
Параметры:
source[] - обрабатываемый одномерный массив ( строка )
dest[][] - записываемый двумерный массив ( в него будут записаны подстроки )
delimiter - разделитель между каждым словом
maxlength - максимальная длина подстроки
Возвращаемое значение:
Данная функция не возвращает определённого значения.
Плюсы реализации:
Скорость выполнения кода по сравнению со стандартным split превышает в несколько раз.
Минусы реализации:
N/A
Код:
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++], source, offset, pos, maxlength);
offset = pos + 1;
}
}
if(source[pos] == EOS) {
strmid(dest[count], source, offset, pos, maxlength);
}
}
Пример использования:
main()
{
new
dest[5][6],
fish_string[] = "Lorem ipsum dolor sit amet";
SplitString(fish_string, dest, ' ');
for(new i = 0; i < sizeof(dest); i++)
print(dest[i]);
}
Автор: L0ndl3m (http://pro-pawn.ru/member.php?2057)
Разделяет строку на подстроки
Параметры:
source[] - обрабатываемый одномерный массив ( строка )
dest[][] - записываемый двумерный массив ( в него будут записаны подстроки )
delimiter - разделитель между каждым словом
maxlength - максимальная длина подстроки
Возвращаемое значение:
Данная функция не возвращает определённого значения.
Плюсы реализации:
Скорость выполнения кода по сравнению со стандартным split превышает в несколько раз.
Минусы реализации:
N/A
Код:
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++], source, offset, pos, maxlength);
offset = pos + 1;
}
}
if(source[pos] == EOS) {
strmid(dest[count], source, offset, pos, maxlength);
}
}
Пример использования:
main()
{
new
dest[5][6],
fish_string[] = "Lorem ipsum dolor sit amet";
SplitString(fish_string, dest, ' ');
for(new i = 0; i < sizeof(dest); i++)
print(dest[i]);
}
Автор: L0ndl3m (http://pro-pawn.ru/member.php?2057)