C++如何查找字符串中子字符串个数
时间: 2024-11-22 17:45:29 浏览: 32
在C++中,查找字符串中特定子字符串出现的次数通常可以使用`std::string`的成员函数`find()`结合循环来实现。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
int countOccurrences(const std::string& mainStr, const std::string& subStr) {
int count = 0;
size_t pos = mainStr.find(subStr);
while (pos != std::string::npos) {
count++;
pos = mainStr.find(subStr, pos + 1); // 使用从上次找到的位置开始继续搜索
}
return count;
}
int main() {
std::string str = "Hello, world! Hello again!";
std::string substr = "Hello";
int occurrences = countOccurrences(str, substr);
std::cout << "Substring '" << substr << "' occurs " << occurrences << " times in the string.\n";
return 0;
}
```
这个`countOccurrences`函数首先初始化计数器`count`为0,然后在一个`while`循环中,如果找到了子串,就增加计数并更新查找起始位置到上次找到位置之后。当`find()`返回`std::string::npos`表示找不到子串时,跳出循环。
阅读全文