'找'字符的等效函数*

时间:2012-06-10 12:25:33

标签: c++

我有下一个代码:

char * word = "?www?eee";

我想知道有多少'?'我有 。我知道“find”函数适用于字符串,而不是char *。有没有相当于char *?

感谢。

3 个答案:

答案 0 :(得分:7)

您可以使用std::count

std::size_t result = std::count(word, word + strlen(word), '?');

如果您需要find功能用于其他目的,则std::find

答案 1 :(得分:3)

您可以将std::count用作:

size_t howMany = std::count(word, 
                            word + strlen(word), 
                            '?');

答案 2 :(得分:-1)

您还可以实现自己的find()-function

int find_char(char *str, char c) {
    int count = 0;
    for(int i = 0; str[i] != '\0'; i++) {
        if(str[i] == c) {
            count ++;
        }
    }
    return count;
}