你好,我是C ++和编码的新手,在我的一项作业中遇到了一个问题。我只是在寻找一些输入,并希望能解释为什么我无法正常工作。
我正在尝试从用户那里获取输入,并使用cin.get()函数来计算该字符串中的所有字符。我这样做是因为我想确定字符串中每个单词的字母。现在我的问题是我无法正确打印结果。
我的问题是,当我尝试确定变量chr(这是保存cin.get()函数正在读取的当前字符的值的变量)时为什么不能得到结果的原因? '\ n'。我希望能够在我的[[chr的当前值是'\ n'或换句话说字符串的末尾时更新我的函数countWordsByLeght的参数(word1,word2 .....)。
例如,这不会运行,这是我知道如何为不包含空格的字符串(一个单词字符串)更新参数的唯一方法。 if (counter == 5 && chr == '\n')
{
++word5;
counter =0;
}
这是我的参考代码:(is whitespace()只是确定字符是否是这些'\ n','\ r','\ t'):
while (cin.get(chr) && chr != '\n') { counter++; if (isWhitespace(chr)) { --counter; //test = true; } if (counter == 5 && chr == '\n') { ++word5; counter =0; } if (counter == 4 && chr =='\n') { ++word4; counter =0; } if (counter == 3 && chr =='\n') { ++word3; counter =0; } if (counter == 2 && chr == '\n') { ++word2; counter =0; } if (counter ==1 && chr == '\n') { ++word1; counter =0; } cout << counter << endl; // Test code {delete later} } cout << "This is the total of word5: " << word5 << endl;
}
std::string.length()
获取字符串中的字符数。length()
函数返回字符串中的字符数。#include <iostream>
#include <string>
int main()
{
std::string s;
s = "test";
std::cout << "The string has " << s.length() << " letters!";
}
http://www.cplusplus.com/reference/string/string/在这里您可以了解可用于字符串的不同功能。