计算用户输入的字符串中的单词

时间:2016-09-11 03:34:15

标签: c++ string manipulators

所以我正在为我的家庭作业的最后一章处理一些复习问题。

我的问题是,如果用户输入一个字符串句子,我将如何计算单词数?我不认为它是在课堂上报道的,或者会在课堂上报道。

我已经获得了请求句子并使用getline读取字符串,但除了将输入写入文件,打开同一个文件以及计算单词之外,我将如何计算单个单词?那样的话?

3 个答案:

答案 0 :(得分:3)

不是一个完整的答案,因为这是作业,但检查<string.h>中的功能。你基本上想要找到字符串中的下一个非空格字符,然后是下一个空白字符,递增你的计数器,重复直到你到达字符串的末尾。

答案 1 :(得分:0)

您可以将std::istream_iteratorstd::distance结合使用,将字符串转换为以空格分隔的标记范围,例如here

要计算范围内的元素,只需使用for

我想我不会提供实际的代码,因为它是作业,但随时可以进一步询问。

答案 2 :(得分:0)

假设strchar *,这是输入句子:

int count = 0;
for(int i = 0; i < strlen(str); i++){
    while(i < strlen(str) && str[i] != ' ')
        i++;
    count++;
}

这是您可以在没有任何特殊方法string.h的情况下手动进行计数的方法。