如何计算字符串C ++中“ xxx”的数目?

时间:2019-09-26 06:58:20

标签: c++ string count character

我想计算字符串xxxs的数目,并且尝试了此操作:

cn2=count(s.begin(), s.end(), 'xxx'); 这就是问题所在:warning: multi-character character constant [-Wmultichar]|

然后我尝试了这个:

cn2=count(s.begin(), s.end(), "xxx");

但是我们应该在count参数中输入字符。

1 个答案:

答案 0 :(得分:0)

您可以循环使用std::string::find(),例如:

int count = 0;
std::string::size_type pos = 0;
while ((pos = s.find("xxx", pos)) != std::string::npos)
{
    ++count;
    pos += 3;
}

std::search()

#include <algorithm>

int count = 0;
std::string sub = "xxx";
std::string::iterator iter = s.begin();
while ((iter = std::search(iter, s.end(), sub.begin(), sub.end())) != s.end())
{
    ++count;
    iter += sub.size();
}