C++ 初学者:std::cin 到 std::string

C++ Beginner: std::cin to std::string

刚开始学习C++,在做练习时遇到了字符串问题。

所以我初始化了std::string phrase;,同时允许用户输入短语并将其保存到带有std::cin >> phrase;的字符串中。现在我的问题是当输入的短语有 spaces 时,我注意到计算机只会将字符保存到第一个单词。

加上词组"sunsets are great"phrase.size()只出来了7个,所以第一个space后面的词没有保存。

整个练习应该将整个输入字符串中的所有字母与另一组值进行比较。我应该为此使用不同的功能吗?

如有任何帮助,我们将不胜感激! :)

如果你想要整行包括space(s),你可以使用下面的代码:

string str; // declaration
getline(cin, str);

记住:cin.getcin 将 trim 所有输入的字符紧跟在第一个 space.

之后

尽情享受吧。

我刚开始的时候也遇到过这个问题。 每当您想读取字符串时,我都会使用 getline。

string phase
cout << "enter phase" <<endl;
getline(cin,phase);