字符串

时间:2015-10-11 17:27:43

标签: c++ string

我试图找出字符串中每个元素的出现次数。例如string str =" aabacdbccdd"。 a = 3,b = 2,c = 3,d = 3.

我在下面的循环中遇到错误。 约束和l是字符串。

for (int i = 0; i < constraints.size(); i++)
{
    size_t mycount = std::count(l.begin(), l.end(), constraints[i]);                    
}

错误是: 没有找到一个操作符左侧的操作数&#39; char&#39;

请你帮忙解决这里的错误。

感谢。

1 个答案:

答案 0 :(得分:1)

我认为constraintsstring的容器。

l.begin()l.end()char迭代器。 您无法将charstring进行比较。

变化:

constraints[i]

constraints[i][0]

或尝试这样的事情:

#include <iostream>
#include <string>
#include <algorithm>

int main() {
    const std::string alphabet("abcdefghijklmnopqrstuwxyz");
    std::string l("aabacdbccdd");

    for (const char& c : alphabet) {
        size_t mycount = std::count(l.begin(), l.end(), c);
        std::cout << c << " = " << mycount << std::endl;
    }
}

输出:

a = 3
b = 2
c = 3
d = 3
e = 0
...