c++ string的find用法
在C++中,string类提供了find()函数来搜索特定的子字符串。find()函数的语法如下:
```cpp
size_t find(const string& str, size_t pos = 0) const;
```
其中,str是要搜索的子字符串,pos是搜索的起始位置,默认为0。
find()函数返回一个size_t类型的值,表示子字符串的第一个字符在原字符串中的位置。如果到子字符串,则返回其位置,如果不到,则返回string::npos。
示例代码如下所示:
```cpp
#include <iostream>
#include <string>
子字符串是什么using namespace std;
int main() {
string str = "Hello, world!";
string target = "world";
size_t found = str.find(target);
if (found != string::npos) {
cout << "Target found at position " << found << endl;
} else {
cout << "Target not found" << endl;
}
return 0;
}
```
这段代码将在字符串`"Hello, world!"`中搜索子字符串`"world"`。如果到,则打印出子字符串的位置,否则打印出“Target not found”。
find()函数的一些拓展用法如下:
1.可以使用find()函数的第二个参数来指定搜索的起始位置。例如,`str.find(target, 7);`表示从字符串的第7个字符开始搜索。
2.如果需要搜索字符串中的所有匹配项,可以使用循环结合find()函数进行迭代搜索。具体做法是,在每次搜索后将pos参数更新为上一次到的位置加上子字符串的长度再加1,这样就可以继续从下一个位置开始搜索。
3.可以使用find_first_of()函数和find_last_of()函数来搜索字符串中的某个字符,类似于find()
函数,也可以设置起始位置参数。
总之,find()函数是C++中用于搜索子字符串的常用函数,通过掌握它的基本语法和拓展用法,可以灵活使用字符串的查操作。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。