代码
// this.cpp
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
void print(istream &strm, ifstream &fstrm)
{
string c;
while(getline(strm,c))
{
cout << c <<endl;
fstrm.close(); // 关闭文件输入流
cout << (bool) strm << endl; //错误标志:正确,1
getline(strm,c); // 文件输入流已经关闭,istream的引用不能工作,设置错误标志!
cout << (bool) strm << endl; //错误标志:错误,0
}
}
int main()
{ string str("this.cpp");
ifstream file(str.c_str());
print(file,file); // istream 不能直接构造,只能传引用
return 0;
}
输出
#include<iostream>
1
0