поиск строки в 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