你好,我是C ++和编码的新手,在我的一项作业中遇到了一个问题。我只是在寻找一些输入,并希望能解释为什么我无法正常工作。
我正在尝试从用户那里获取输入,并使用cin.get()
函数来计算该字符串中的所有字符。我这样做是因为我想确定字符串中每个单词的字母。现在我的问题是我无法正确打印结果。
我的问题是:为什么当我尝试确定变量 例如,以下代码将不会运行,这是我知道如何为不包含空格的字符串(一个单词字符串)更新参数的唯一方法:chr
是否为'\ n'字符时为什么无法得到结果? Chr是保存由cin.get()
函数读取的当前字符的值的变量)是'\n'
。当countWordsByLegth()
的当前值为chr
或换句话说字符串的结尾时,我希望能够更新我的函数'\n'
的参数(word1,word2 .....)。
if (counter == 5 && chr == '\n') { ++word5; counter =0; }
这是我的代码供参考。函数
isWhitespace()
仅确定字符是否为以下'\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;
}
你好,我是C ++和编码的新手,在我的一项作业中遇到了一个问题。我只是在寻找一些输入,希望能解释为什么我无法正常工作。我正在尝试...
您可以使用std::string.length()
获取字符串中的字符数。length()
函数返回字符串中的字符数。
#include <iostream>
#include <string>
int main()
{
std::string s;
s = "test";
std::cout << "The string has " << s.length() << " letters!";
}