当我以下列方式从文本文件中读取数据" [1,2,3,4,5] [1,2,3,4,5]" 我在以下代码中使用逗号作为分隔符时得到1 2 3 4 5 2 3 4 5的结果。
while (getline (ss, data, ','))
{
stringstream fs (data);
int d = 0;
fs >> d;
orderVector.push_back(d);
}
我的猜测是,这是由于5和1之间没有逗号,但我不知道如何解决此问题。
答案 0 :(得分:0)
如果您不打算进行任何验证(没有迹象表明您认为旧代码中有必要),那么您可以这样做:
while (true)
{
int d;
if (ss >> d)
orderVector.push_back(d);
else
{
if (ss.eof()) break;
ss.clear();
ss.ignore();
}
}