c++中find函数的用法

find函数是c++标准库中的一种函数,其主要功能是在一个字符串或者容器中查找指定的值或者子串,并返回其第一次出现的位置。在c++中,find函数被广泛应用于字符串处理、容器查找等方面。

find函数的基本语法如下:

```cpp

string::size_type find (const string& str, size_type pos = 0) const;

```

其中,str是要查找的目标字符串,pos是查找的起始位置,默认值为0。find函数会返回一个size_type类型的值,表示查找结果。如果找到了目标值或者子串,则返回第一次出现的位置;如果没有找到,则返回string::npos。

需要注意的是,find函数是在std命名空间中定义的,所以使用时需要加上std::前缀,或者使用using namespace std来简化命名空间的引用。

下面是find函数的具体使用方法及示例说明:

1. 在字符串中查找指定字符:

```cpp

#include

#include

using namespace std;

int main() {

string str = "Hello, world!";

char ch = 'o';

size_t pos = str.find(ch);

if (pos != string::npos) {

cout << "找到了字符'" << ch << "',位置为:" << pos << endl;

} else {

cout << "未找到字符'" << ch << "'" << endl;

}

return 0;

}

```

运行结果:

```

找到了字符'o',位置为:4

```

2. 在字符串中查找指定子串:

```cpp

#include

#include

using namespace std;

int main() {

string str = "Hello, world!";

string subStr = "world";

size_t pos = str.find(subStr);

if (pos != string::npos) {

cout << "找到了子串'" << subStr << "',位置为:" << pos << endl;

} else {

cout << "未找到子串'" << subStr << "'" << endl;

}

return 0;

}

```

运行结果:

```

找到了子串'world',位置为:7

```

3. 在容器中查找指定值:

```cpp

#include

#include

#include

using namespace std;

int main() {

vector nums = {1, 2, 3, 4, 5};

int target = 3;

auto it = find(nums.begin(), nums.end(), target);

if (it != nums.end()) {

cout << "在容器中找到了值为" << target << "的元素,位置为:" << distance(nums.begin(), it) << endl;

} else {

cout << "未在容器中找到值为" << target << "的元素" << endl;

}

return 0;

}

```

运行结果:

```

在容器中找到了值为3的元素,位置为:2

```

通过上面的示例可以看出,find函数在字符串和容器的查找中都可以很方便地使用,并且可以根据返回结果来判断是否找到了目标值或者子串。在实际应用中,我们可以结合其他的字符串处理函数或者算法来完成更复杂的任务。

除了基本用法外,find函数还可以通过第二个参数来指定查找的起始位置。例如:

```cpp

string str = "Hello, world!";

string subStr = "o";

size_t pos = str.find(subStr, 5); // 从位置为5的字符开始查找

```

这样可以实现在更大的字符串或者容器中的指定位置开始查找。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(70) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部