Desulaid
22.07.2016, 22:14
Описание:
Работая над строкой, функция игнорирует все символы, кроме символов цифр. Результатом работы функции является целочисленное строковое значение. В случае, если строка не имеет цифр функция вернет ноль.
Функция:
stock GetNums(const src[], dest[], const size = sizeof dest)
{
new dest_size = size - 1, result;
for (new i = -1, j = 0, _char = 0; (_char = src[++i]);)
{
if ('0' <= _char <= '9')
{
dest[j++] = _char;
result = result * 10 + _char - '0';
if (j == dest_size)
{
dest[j] = '\0';
break;
}
}
}
return result;
}
Параметры:
(const src[], dest[], const size = sizeof dest)
src[]
- исходная строка для обработки.
dest[]
- буфер, куда записывается строковый аналог возвращаемого значения.
size
- число ячеек для обработки.
Пример:
new str[5];
printf("%d\n%s", GetNums("ст123рока4", str), str);
// функция вернет 1234
// массив str[] получит значение "1234"
Автор: Anton Styazhkin (http://pro-pawn.ru/member.php?4123-Anton-Styazhkin)
Специально для Pro-Pawn.ru (http://pro-pawn.ru/)
Копирование данной статьи на других ресурсах без разрешения автора запрещено.
Работая над строкой, функция игнорирует все символы, кроме символов цифр. Результатом работы функции является целочисленное строковое значение. В случае, если строка не имеет цифр функция вернет ноль.
Функция:
stock GetNums(const src[], dest[], const size = sizeof dest)
{
new dest_size = size - 1, result;
for (new i = -1, j = 0, _char = 0; (_char = src[++i]);)
{
if ('0' <= _char <= '9')
{
dest[j++] = _char;
result = result * 10 + _char - '0';
if (j == dest_size)
{
dest[j] = '\0';
break;
}
}
}
return result;
}
Параметры:
(const src[], dest[], const size = sizeof dest)
src[]
- исходная строка для обработки.
dest[]
- буфер, куда записывается строковый аналог возвращаемого значения.
size
- число ячеек для обработки.
Пример:
new str[5];
printf("%d\n%s", GetNums("ст123рока4", str), str);
// функция вернет 1234
// массив str[] получит значение "1234"
Автор: Anton Styazhkin (http://pro-pawn.ru/member.php?4123-Anton-Styazhkin)
Специально для Pro-Pawn.ru (http://pro-pawn.ru/)
Копирование данной статьи на других ресурсах без разрешения автора запрещено.