如何使用c ++跳过“,”和“空格”直到读取stdin int


How to read from stdin int using c++ skipping “,” and “Space” till “

本问题已经有最佳答案,请猛点这里访问。

我想从stdin中读取整数,1,2,3,4

1
2
3
4
5
6
7
8
vector<int> r;
cin >> is;
stringstream iss(is);
int n;
while(iss >> n)
{
    r.push_back(n);
}

但在","之后停止读取,除了拆分和直接读取整数之外,还有其他方法吗?


在这里,您必须在每个数字后面消费并跳过,,如下所示:

1
2
3
4
5
6
7
8
9
10
vector<int> r;
cin >> is;
stringstream iss(is);
int n;
while(iss >> n)
{
    r.push_back(n);
    char c;
    iss >> c;
}

请参见此处的运行示例。