поиск строки в C ++
Опубликовано: 30 Декабря, 2021
String find используется для поиска первого вхождения подстроки в указанной вызываемой строке. Он возвращает индекс первого вхождения подстроки в строку с заданной начальной позиции. Значение начальной позиции по умолчанию - 0.
Шаблон функции:
- size_t find (const string & str, size_t pos = 0);
- size_t find (const char * s, size_t pos = 0);
Параметры функции:
- str: подстрока для поиска.
- s: Подстрока для поиска, заданная как строка в стиле C.
- pos: начальная позиция, с которой должен начинаться поиск строки.
Возврат функции:
- Функция возвращает индекс первого вхождения подстроки, если подстрока не найдена, она возвращает string :: npos (string :: pos - статический член со значением как наивысшим возможным для структуры данных size_t).
// CPP program to demonstrate working of string // find to search a string #include <iostream> #include <string> using namespace std; int main() { string str = "geeksforgeeks a computer science" ; string str1 = "geeks" ; // Find first occurrence of "geeks" size_t found = str.find(str1); if (found != string::npos) cout << "First occurrence is " << found << endl; // Find next occurrence of "geeks". Note here we pass // "geeks" as C style string. char arr[] = "geeks" ; found = str.find(arr, found+1); if (found != string::npos) cout << "Next occurrence is " << found << endl; return 0; } |
Выход:
First occurrence is 0 Next occurrence is 8