问题描述
我是想输入一句话进去,英文的。这样就需要保存住单词之间的空格,所以就是保存字符。我这个代码编译的时候没有错误,但是运行时,我输入一句话之后按回车,并不会输出我刚输入的内容。没有反应。请大家看一下。谢谢。
#include <iostream>#include <string>#include <vector>using namespace std;int main(){ vector<char> ch; char word; int i; cout << 'enter a sentence:' << endl; while (cin >> word) {ch.push_back(word); } for(auto c : ch)cout << c <<endl; system('pause'); return 0;}
问题解答
回答1:楼主要搞清楚
while (cin >> word)
的结束条件不是你输入“换行符”,而是输入文件“结束符”(EOF),在Linux是ctrl+D,windows上是ctrl+Z。所以你这个程序是做不到输入一行输出一行的,你输入的东西都成功了,但是都保存在word里,并没有执行到输出的语句。