C++ eof()多读如何解决

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:28:58
#include<iostream>
#include<fstream>
using namespace std;

int main()
{
int i;
ifstream infile;
infile.open(string s);
while(infile.peek()!=EOF)//while(!infile.eof())也不行
{
infile>>i;
dosomething(i);
}
}
总会多读一个i,请问如何解决?
我用的是 Visual Studio 2008,多读的i是文件最后一个int
我的文件里只有一个0,输出是0 0
解决了 谢谢

#include<iostream>
#include<fstream>
using namespace std;

int main()
{
int i;
ifstream infile;
infile.open("text.txt");
while(infile.peek()!=EOF)//while(!infile.eof())也不行
{
if(!(infile>>i))
infile.seekg(0, ios::beg);
else
cout<<i;
}
return 0;
}

。。。。这个有问题,我再看看。。