Я пытаюсь выполнить простую задачу чтения чисел, разделенных пробелами, с консоли в вектор
, но я не понимаю, как это сделать правильно.
Это то, что я делал до сих пор:
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
, но не смог заставить его работать.
Я не знаю, сколько элементов введет пользователь, поэтому я использую вектор
.
Пожалуйста, предложите правильный способ сделать это.