ifstream的对象 ifs 打开一个文件,关闭后,再用ifs打开一个文件的实现方法

 先用ifstream ifs("1.txt");打开操作,然后ifs.close();

之后准备做一个ifs.open("2.txt");

但内容却读不出来(假定不用ifs1, ifs2)的解决方法:

==========================================================

ifstream 是有状态的对象,一个 ifstream 操作完后一般处于非正常状态,

内部的 eofbit 标记 failbit 标记等已被设定。

重新打开文件并不会清除这些标记,
因此需要添加一步:   ifs.clear();  // 去除 ifs 中的错误标记(如文件末尾标记或读取失败标记等)

然后再打开新文件即可

ifs.open("2.txt");

 

-----------------------------------------------------------------------------------------------------------------------------------

网上检索到的信息:

ifstream ifs("1.txt");


ifs.close只是关闭他,不是消毁他,


ifs 仍然是将1.txt做为输入


你再open一样可以用.

你可能感兴趣的:(ifstream的对象 ifs 打开一个文件,关闭后,再用ifs打开一个文件的实现方法)