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