I/O流类库的一个小问题
本帖最后由 jiangsong1992 于 2012-12-16 00:38:53 编辑 我想把一个mytext.txt文档在屏幕上显示两次,代码如下:
#include<iostream>
#include<fstream>
using namespace std;
int main(){
fstream fin;
fin.open("mytext.txt",ios::in);
if(!fin){
cout<<"Can't open the file!"<<endl;
return 1;
}
char a;
while(!fin.eof()){
fin.get(a);
cout<<a;
}//fin.close();fin.open("mytext.txt",ios::in);
fin.seekg(0,ios::beg);
while(!fin.eof()){
fin.get(a);
cout<<a;
}
fin.close();
return 0;
}
运行出错了,但如果我加上"//"后的代码,再去掉fin.seekg(0,ios::beg);就可以正常运行。
我感觉fin.close();fin.open("mytext.txt",ios::in);[/color]和fin.seekg(0,ios::beg);在此程序中的功能应该差不多啊。
谢谢!
[解决办法]
fin的eof标志不会因为seek而清除。