编写一个字符串处理函数,输入一个字符串和子串,查找该字符串中包含子串的个数,并返回个数 用c++完成
时间: 2024-10-04 20:04:50 浏览: 34
js判断一个字符串是否包含一个子串的方法
在C++中,你可以编写一个名为`countSubstrings`的函数,它接受两个字符串参数,一个是主字符串`str`,另一个是子串`substr`。下面是一个简单的示例,展示了如何实现这个功能:
```cpp
#include <string>
int countSubstrings(const std::string& str, const std::string& substr) {
int count = 0;
size_t pos = 0;
// 使用KMP算法避免无效搜索
while ((pos = str.find(substr, pos)) != std::string::npos) {
count++;
pos += substr.length(); // 移动起始位置到下一个可能的位置
}
return count;
}
```
在这个函数中,我们使用了`find`函数从`str`的每个可能位置开始寻找`substr`。如果找到子串,我们就增加计数并移动`pos`到下一个可能的位置。如果没有找到,`find`会返回`npos`,循环就会终止。
阅读全文