编写STL程序,给定两个二进制字符串A和B,编写函数返回字符串A在字符串B中所出现的次数
时间: 2024-03-14 20:43:53 浏览: 61
获取字符在字符串中出现的次数
以下是使用STL的C++代码实现:
```c++
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string A = "10101";
std::string B = "11010101101";
int count = 0;
std::string::size_type pos = 0;
while ((pos = B.find(A, pos)) != std::string::npos) {
count++;
pos += A.length();
}
std::cout << "A occurs in B " << count << " times" << std::endl;
return 0;
}
```
我们可以使用`std::string`的`find()`函数来查找字符串A在B中出现的位置。由于`find()`函数返回的是字符串的位置,我们可以利用这个位置来查找下一个出现的位置,直到`find()`函数返回`std::string::npos`表示字符串A在B中不存在。
在循环中,我们使用变量`pos`来记录当前查找的位置。每次找到字符串A后,我们将计数器加1,然后将`pos`移动到下一个查找的位置。
最后,我们输出计数器的值,即字符串A在B中出现的次数。
阅读全文