发项目程序没人答,发个模板把
从txt读入,1个string,2个int,后面若干个int压入vector
但是循环只读了一行,不知道为什么,求解
问题出在内循环fin>>c这里。内循环退出的条件是fin>>c返回值为零,也就是没有读到整数。当文件指针跳到“京汉线”时,由于不是整数,所以内循环退出。内循环退出时,文件指针已经跳到了“京汉线”之后了。当外循环开始第二次读取时,实际上fin>>f读到的是“0”,实际这不是字符串,所以fin>>f返回0,外循环结束,就没有然后了。修改一下内外循环结束的条件,就能避免这种问题。
一行一行读的解决方案····
int main()
{
ifstream fin("D:\\train.txt");
ofstream oin("D:\\test.txt");
string f;
int a;
vector<int> num;
while (!fin.eof())
{
getline(fin, f);
istringstream line(f);
string name;
line >> name;
oin << name << " ";
while ((line>>a))
{
oin << a << " ";
}
oin << endl;
}
return 0;
}