string流一直掌握得比较浅,结果就在某个地方卡住了= = 于是发现istringstream
(输入string流)特别好用。
需要把文件流中数据输出到向量u之中,但一组数据中有个数不一定的整数需要存放到interest
中,这时候istringstream就派上用场了。
vector<Users> u;
string temp;
for(string s;getline(in,s);)
{
for(istringstream sin(s);sin>>temp;)
{
int i=0;
while(!sin.eof())
{
sin>>i;
temp.interest.push_back(i);
}
}
u.push_back(temp);
}
先把一整行都读取到string
中,然后string
逐步输出到向量中,此时sin
就是一个流,类似于文件流,可以用eof()
函数判断是否结束。
istringstream
需要#include<sstream>