C++中的string find函数用法示例

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 = "lsbin 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

我们还可以使用它来查找字符的出现:
在下面的语法中, 请注意c是一个字符。
  • size_t find(const char c, size_t pos = 0);
// CPP program to demonstrate working of string // find to search a string #include < iostream> #include < string> using namespace std; int main() { string str = "lsbin a computer science" ; char c = 'g' ; // Find first occurrence of 'g' size_t found = str.find(c); if (found != string::npos) cout < < "First occurrence is " < < found < < endl; // Find next occurrence of 'g' found = str.find(c, found+1); if (found != string::npos) cout < < "Next occurrence is " < < found < < endl; return 0; }

输出如下:
First occurrence is 0 Next occurrence is 8

我们还可以搜索部分字符串
在以下语法中, 请注意n是要匹配的字符数。
  • size_t find(const char * str, size_t pos, size_t n);
// CPP program to demonstrate working of string // find to search a string #include < iostream> #include < string> using namespace std; int main() { string str = "lsbin a computer science" ; // Only search first 5 characters of "geeks.practice" size_t found = str.find( "geeks.practice" , 0, 5); if (found != string::npos) cout < < found < < endl; return 0; }

【C++中的string find函数用法示例】输出如下:
0

被认为是行业中最受欢迎的技能之一, 我们拥有自己的编码基础C ++ STL通过激烈的问题解决过程来训练和掌握这些概念。

    推荐阅读