gpt4 book ai didi

c++ - 如何从控制台读取空格分隔的数字?

转载 作者:可可西里 更新时间:2023-11-01 17:04:24 25 4
gpt4 key购买 nike

我正在尝试做一个简单的任务,将控制台中以空格分隔的数字读入 vector<int> ,但我不知道如何正确执行此操作。

这是我到目前为止所做的:

int n = 0;
vector<int> steps;
while(cin>>n)
{
steps.push_back(n);
}

然而,这需要用户按下一个无效字符(例如 a )来打破 while环形。我不想要它。

一旦用户输入数字,如 0 2 3 4 5并按下 Enter我希望循环被打破。我尝试使用 istream_iteratorcin.getline也,但我无法让它工作。

我不知道用户会输入多少元素,因此我使用 vector .

请建议正确的方法。

最佳答案

使用 getline 结合 istringstream 来提取数字。

std::string input;
getline(cin, input);
std::istringstream iss(input);
int temp;
while(iss >> temp)
{
yourvector.push_back(temp);
}

关于c++ - 如何从控制台读取空格分隔的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5497277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com