重新设置istringstream对象

Re-setting an istringstream object

本文关键字:istringstream 对象 设置 新设置      更新时间:2023-10-16

当我运行这段代码时:

for (int i = 0; i < indexArray.size(); i++) {
                iss.str(indexArray.at(i));
                iss>>one;
                iss>>two;
                iss>>three;
                cout<<one<<" "<<two<<" "<<" "<<three<<" "<<"n";
}

istreamstream (iss)在每次迭代中保持不变。(该文件在程序开始时被读入vector。是的,我检查了数组是否有相应的数据)

换句话说,我得到这个输出:

12345 1  0 
12345 1  0 
12345 1  0 

而file/vector实际上写的是:

12345 1 0
12346 1 25
12543 1 50

我试了各种各样的方法,但还是找不到问题所在。谢谢!

重用istringstream时,应在iss.str(indexArray.at(i));之前调用iss.clear();以清除EOF标志