当前位置:首页 C++ > 正文

c++ 计算字符串中子字符串出现的次数

作者:野牛程序员:2024-06-17 11:20:02 C++阅读 2669
c++ 计算字符串中子字符串出现的次数

在C++中,可以通过多种方法计算字符串中某个子字符串出现的次数。以下是使用C++实现的一种方法,利用std::string类中的find方法来完成这一任务。

#include <iostream>
#include <string>

int countOccurrences(const std::string& str, const std::string& subStr) {
    if (subStr.empty()) return 0; // 防止子字符串为空

    int count = 0;
    size_t pos = str.find(subStr);
    
    while (pos != std::string::npos) {
        ++count;
        pos = str.find(subStr, pos + subStr.length());
    }
    
    return count;
}

int main() {
    std::string str = "ababcabcab";
    std::string subStr = "abc";

    int occurrences = countOccurrences(str, subStr);
    std::cout << "子字符串出现的次数: " << occurrences << std::endl;

    return 0;
}

在上面的代码中,定义了一个名为countOccurrences的函数,该函数接收两个字符串参数:strsubStr。函数通过循环使用std::string::find方法查找subStrstr中的位置,并在每次找到后将计数器增加,同时将搜索位置更新为上次找到的位置之后。循环会一直持续到找不到subStr为止。

主要步骤:

  1. 检查subStr是否为空,如果为空则直接返回0。

  2. 初始化计数器count为0,并使用std::string::find方法从头开始查找subStr

  3. 在找到subStr时,增加计数器,并更新查找位置为subStr出现的位置之后。

  4. 循环重复步骤3,直到找不到subStr为止。

这样就可以统计出字符串中子字符串出现的次数。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++
  • 最新推荐

    热门点击