我想计算字符串xxx
中s
的数目,并且尝试了此操作:
cn2=count(s.begin(), s.end(), 'xxx');
这就是问题所在:warning: multi-character character constant [-Wmultichar]|
然后我尝试了这个:
cn2=count(s.begin(), s.end(), "xxx");
但是我们应该在count
参数中输入字符。
答案 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;
}
#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();
}