相关疑难解决方法(0)

如何使用scanf读取空格分隔的数字

我想读取使用scanf()函数用空格分隔的数字(整数类型).
我已阅读以下内容

C,从单个输入行读取多个数字(scanf?)
如何用空格读取scanf
这对我没有多大帮助.如何读取带空格的数字作为分隔符.例如,我现在有以下数字作为输入,2 5 7 4 3 8 18我想将它们存储在不同的变量中.
请帮忙.

c scanf

27
推荐指数
2
解决办法
11万
查看次数

读取整数行到向量中

请查看以下代码

int main()
{
    cout << "Enter numbers (-1 to stop entering; -2 to exit)" << endl;

    while(cin>>enterNumber)
    {
     numbers.push_back(enterNumber);
    }


    for(size_t size=0;size<numbers.size();size++)
    {
        cout << numbers[size] << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在这里做的是这样的

  1. 输入数字列表(例如:1 2 3 4 5 6 7 8 9 0 11)
  2. 将所有这些读入矢量
  3. 打印它们

在这里,当我点击进入时,什么也没发生!好像循环没有退出.点击输入后如何打印值?

UPDATE

我编写了代码作为答案中给出的建议.

int main()
{
    cout << "Enter numbers (-1 to stop entering; -2 to exit)" << endl;

    std::string line;
getline(std::cin, line);
std::istringstream iss(line);
while (iss >> enterNumber)
{
    numbers.push_back(enterNumber);
}


    for(size_t size=0;size<numbers.size();size++)
    { …
Run Code Online (Sandbox Code Playgroud)

c++ vector std while-loop

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

c++ ×1

scanf ×1

std ×1

vector ×1

while-loop ×1