在C ++中的一行中插入多个输入

时间:2011-10-30 13:11:44

标签: c++ input iostream

我正在尝试在一行上插入多个输入,逗号和输入之间有空格。到目前为止我一直使用的方法将输入与空格分开。

int a, b , c ,d
cin >> a >> b >> c >> d ;

使用此方法,输入行如下所示:

1 2 3 4

但我希望能够输入这样的数据:

1, 2, 3, 4

4 个答案:

答案 0 :(得分:3)

>>的分隔符不可修改,但您可以将其与ignore结合使用:

std::cin >> a;
std::cin.ignore(1, ',')

// rinse and repeat

答案 1 :(得分:1)

你可以这样做:

int main() {
        int a,b,c,d;
        char comma;
        std::cin >> a >> comma >> b >> comma >> c >> comma >> d;
        std::cout << a << " " << b << " " << c << " " << d << std::endl;
        return 0;
}

输入:

1, 2, 3, 4

输出:

1 2 3 4

演示:http://www.ideone.com/tXQZd

答案 2 :(得分:0)

在C / C ++中,您只需要这样做:

scanf("%d, %d, %d, %d", &a, &b, &c, &d);

您只需要添加<cstdio>

答案 3 :(得分:0)

你可以这样继续-

for (int i = 0; i < 6; i++)
        {
            /* code */
            for (int j = 0; j < 6; j++)
            {
                /* code */
                cin >> arr[i][j];
    
                cin.ignore(1, ' ');
            }
            cout << endl;
        }

这将需要一个 6*6 的数组输入

-9 -9 -9 1 1 1

0 -9 0 4 3 2

-9 -9 -9 1 2 3

0 0 8 6 6 0

0 0 0 -2 0 0

0 0 1 2 4 0