刚开始学习C++,在做练习时遇到了字符串问题。
所以我初始化了std::string phrase;
,同时允许用户输入并保存短语到字符串std::cin >> phrase;
。现在我的问题来了,当输入的短语有空格时,我注意到计算机只会保存字符,直到第一个单词。
对于短语"sunsets are great"
,phrase.size()
只出来了7,所以第一个空格后面的单词没有保存。
整个练习应该是将整个输入字符串中的所有字母与另一组值进行比较。我是否应该使用不同的函数来实现这一点?
2条答案
按热度按时间35g0bw711#
我刚开始的时候也遇到过这个问题。每当你想读一个字符串的时候,我都会使用getline。
即
gr8qqesn2#
如果要获取包括空格的整行,可以使用以下代码:
记住:
cin.get
和cin
将在第一个空格之后修剪所有输入的字符。好好享受。