c++中有没有类似strstr函数作用的方法
时间: 2024-09-15 17:02:26 浏览: 43
在C++中,可以使用标准库函数`std::search`来实现类似`strstr`函数的作用。`strstr`是C语言中的一个函数,用于在字符串中查找第一次出现的子串。C++中的`std::search`函数位于`<algorithm>`头文件中,它可以在两个序列中查找第一个匹配的子序列,这里的序列可以是数组、容器或者任何其它可以通过迭代器访问的范围。
下面是一个使用`std::search`函数查找子串的例子:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
int main() {
std::string str = "example string";
std::string to_find = "string";
auto result = std::search(str.begin(), str.end(), to_find.begin(), to_find.end());
if (result != str.end()) {
std::cout << "子串 '" << to_find << "' 在位置 " << std::distance(str.begin(), result) << std::endl;
} else {
std::cout << "未找到子串 '" << to_find << "'" << std::endl;
}
return 0;
}
```
在这个例子中,`std::search`函数搜索`str`中第一次出现`to_find`的位置,并返回一个指向找到子串开始位置的迭代器。如果没有找到,则返回`str.end()`。
阅读全文