从输入中获取未知数量的参数

时间:2016-04-27 15:46:52

标签: c++ scanf

当我使用scanf()时,我需要知道从客户端获取多少参数。 例如,scanf("%d%d", &n1, &n2);

如果我不知道输入参数的确切数量怎么办?

在上面的例子中,当客户端输入一个无效的数字时,我可能会在不获取其余参数的情况下中断该过程。

如果你能推荐我用C / C ++中的其他一些函数来处理这个问题,那没关系。

1 个答案:

答案 0 :(得分:1)

我在c ++中可以想到的最简单的事情:

std::vector<int> allParams;
int num;
while(std::cin >> num) {
    allParams.push_back(num);
}

使用scanf()

的类似解决方案
std::vector<int> allParams;
int num;
while(scanf("%d", &num) != EOF) {
    allParams.push_back(num);
}