ifstream对象打开一个文件关闭后再打开另一个文件

ifs.close();

ifstream 是有状态的对象,一个 ifstream 操作完后一般处于非正常状态,内部的 eofbit 标记 failbit 标记等可能已被设定。重新打开文件并不会清除这些标记,因此需要添加一步:
ifs.clear();  // 去除 ifs 中的错误标记(如文件末尾标记或读取失败标记等)

然后再打开新文件即可
ifs.open("2.txt");

你可能感兴趣的:(C++)