将输入作为c ++中的单词数组

时间:2017-06-27 06:33:43

标签: c++

std::vector<std::string> words;
std::string word;
while (std::cin >> word)
words.push_back(word);
cout<<words[1];

我正在使用它来输入以创建一个带有空格的单词数组。但在使用Enter结束句子后,我没有得到任何输出。

2 个答案:

答案 0 :(得分:2)

  

我正在使用它来输入以创建一个带有空格的单词数组。但在使用Enter结束句子后,我没有得到任何输出。

那是因为

while (std::cin >> word)
  words.push_back(word);
Enter

不会停止

std::cin中没有更多数据时,它会停止。您必须输入EOF才能退出while循环。

有用的链接:How do i enter an EOF character in this program?

答案 1 :(得分:0)

使用

getline(cin,word) 

而不是

cin<<word 

允许您输入带有空格的单词。

偶数,向量从索引0开始,因此输出

words[0]

而不是

words[1]

将输出输入的值。这就是问题。