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

问题描述 投票:0回答:2

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

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

[使用短语"sunsets are great"phrase.size()仅出现到7,因此未保存第一个空格之后的后续单词。

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

任何帮助将不胜感激! :)

c++ string cin
2个回答
0
投票

如果要使用一整个行,包括空格,则可以使用以下代码:

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

请记住:cin.getcin将在第一个空格之后修剪所有输入的字符。

享受。


0
投票

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

ie

string phase
cout << "enter phase" <<endl;
getline(cin,phase);
© www.soinside.com 2019 - 2024. All rights reserved.