Strfind — различия между версиями

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск
(Опечатка в описании)
Строка 1: Строка 1:
 
{{DISPLAYTITLE:strfind}}
 
{{DISPLAYTITLE:strfind}}
 
{{Description
 
{{Description
| Сравнивает две строки.
+
| Находит первую подстроку в строке.
 
}}
 
}}
 
{{Params|const string[], const sub[], bool:ignorecase{{=}}false, pos{{=}}0}}
 
{{Params|const string[], const sub[], bool:ignorecase{{=}}false, pos{{=}}0}}

Версия 21:49, 23 июля 2018

Описание:

Находит первую подстроку в строке.

Параметры:

(const string[], const sub[], bool:ignorecase=false, pos=0)
const string[] Строка, в которой будет проведён поиск.
const sub[] Подстрока, вхождения которой функция будет искать в строке string.
bool:ignorecase Указывает, следует ли функции игнорировать регистр символов (true/false; необязательный параметр).
pos Позиция в строке string, с которой следует начинать поиск (необязательный параметр).


Возвращаемое значение:

Позиция вхождения подстроки sub в строку string, либо -1, если ни одного вхождения не найдено.

Bug.png
Баг Pawn
Если указать отрицательную стартовую позицию (параметр pos), функция не посчитает такую позицию неправильной и начнёт поиск с неё, т.е. будет читать данные за пределами массива string.


Пример использования:

main()
{
    new result;
    static const string[] = "abcd1234";

    result = strfind(string, "cd");
    printf("result: %d", result); // "result: 2"

    result = strfind(string, "123");
    printf("result: %d", result); // "result: 4"

    result = strfind(string, "z");
    printf("result: %d", result); // "result: -1" (в строке "abcd1234" нет "z")
}


См. также: