【发布时间】:2011-07-26 17:15:21
【问题描述】:
我正在尝试执行一项简单的任务,即从控制台将空格分隔的数字读取到 vector<int>,但我不知道如何正确执行此操作。
这是我到目前为止所做的:
int n = 0;
vector<int> steps;
while(cin>>n)
{
steps.push_back(n);
}
但是,这需要用户按一个无效字符(例如a)来中断while 循环。我不想要它。
一旦用户输入像0 2 3 4 5 这样的数字并按下Enter,我希望循环被打破。我也尝试使用istream_iterator 和cin.getline,但我无法让它工作。
我不知道用户会输入多少元素,因此我使用vector。
请提出正确的方法。
【问题讨论】: