C++要调用(open_file)这个函数应该怎么写啊?

来源:百度知道 编辑:UC知道 时间:2024/09/22 11:38:23
#include<iostream>
#include<fstream>
using namespace std;
ifstream& open_file(istream &in,const string &file)
{
in.close();
in.clear();
in.open(file.c_str());
return in;
}
int main()
{
//这里要怎么写啊?
return 0;
}
//还有,我明明照着书上抄下来,为什么显示编译错误的?
/*错误信息:
--------------------Configuration: zzzzz - Win32 Debug--------------------
Compiling...
zzzzz.cpp
f:\c++实验文件\zzzzz.cpp(6) : error C2039: 'close' : is not a member of 'basic_istream<char,struct std::char_traits<char> >'
f:\c++实验文件\zzzzz.cpp(8) : error C2039: 'open' : is not a member of 'basic_istream<char,struct std::char_traits<char> >'
f:\c++实验文件\zzzzz.cpp(9) : error C2440: 'return' : cannot convert from 'class std::basic_istream<char,struct std::char_traits<char> >' to 'class std::basic_ifstream<char,struct

int main()
{
ifstream fin;
open_file(fin,"aaa.txt");//保证你的目录里面有这个文件。
//这个时候fin已经是打开了的aaa.txt了.
string aline;//定义一个string存储一行
while(getline(fin,aline)){
cout<<aline<<endl;
}
fin.close();
return 0;
}

int main()
{
 ifstream fin;
 open_file(fin,"aaa.txt");//保证目录里面有这个文件
 //这个时候fin已经是打开了的aaa.txt了
 string aline;//定义一个string存储一行
 while(getline(fin,aline)){
  cout<<aline<<endl;
 }
 fin.close();
 return 0;
}

我想应该这样调用:
ifstream input;string file="文件名";
open_file(input,file);