第二行的Getline()和按空格分割 - C ++

时间:2018-02-28 23:27:06

标签: c++ getline

我正在尝试解决需要用户多次输入的问题。我已经习惯了Python,所以C ++语法对我来说有点复杂。

我的意思是:

输入:

1

30 40 50

输出:

30 40 50

我没有找到一个单独的解决方案,我一直试图找到它。

我尝试了什么:

#include <iostream>
using namespace std;

int main()
{
    int input1; cin >> input1;
    string input2;
    cin >> input2;
    getline(cin, input2);
    cout << input2;
}

我似乎并没有正确理解getline()方法。 我得到了什么:

输出:

 40 50

预期输出:

30 40 50

1 个答案:

答案 0 :(得分:1)

  

cin&gt;&gt;输入2;

这读取30.

  

getline(cin,input2);

这将读取剩余的行。只需更改行:

cin >> input2;

for:

cin.ignore();

这样您就不会读取第二行中的第一个数字并忽略回车键。