问题:
1. 我们在调用文件流fstream解决实际问题时,常常会遇到要读入多个文件或创建输出多个文件。但是我们又不想定义很多的流,而只想用一个输入流ifstream和一个输出流ofstream就搞定。该怎么办呢?
2. 很简单的嘛,直接先定义流,每次涉及到一个文件读入读入时候直接调用open()函数,完毕后就close()。可是实际结果好像不如人意,比如读入的文件好像只有第一个文件被读入了,而其他都被忽略了,输出的文件也只有第一个有效,这是怎么回事呢?
解决办法:
参考:http://www.diybl.com/course/3_program/c++/cppsl/2008520/117257.html
一个朋友向我请教一个程序,相关代码如下:
string s;
vector <string> vs;
ifstream inFile("F:\\MyReceiveFiles\\FillCompo_KP.mod", ios::in);
while (getline(inFile, s))
vs.push_back(s);
cout<<vs.size()<<endl;

在C++中,使用fstream处理多个文件时,如果直接打开新的文件,可能会导致只读取第一个文件。解决办法是在关闭文件后调用clear()函数清除错误状态,例如:inFile.clear(ios::goodbit)。这样可以确保后续文件能被正确读取。
最低0.47元/天 解锁文章
2791

被折叠的 条评论
为什么被折叠?



