【发布时间】:2014-07-05 04:02:41
【问题描述】:
以下代码按原样运行并将输入存储在向量中,但会无限循环地侦听输入。目的是从输入的一行中取出一串ints,用空格分隔,并将它们存储在一个向量中。
int main(int argc, char ** argv){
int input;
vector<int> intVector;
while (cin >> input)
intVector.push_back(input);
//print vector contents
copy(intVector.begin(), intVector.end(), ostream_iterator<char>(cout, " ")); cout << "\n";
return 0;
}
我想以某种方式在 while 循环中添加一个简单的额外条件,以检查行尾,这样它就不会无限期地继续听。 cin.oef 在这里没用。我已经尝试过这个以及其他一些方法。
我可以添加一些简洁、简洁和优雅的东西来解决这个问题吗?
【问题讨论】:
-
使用
getline而不是>>怎么样? -
具体会是什么样子?