eof 就是文件結束
因為文件指針到最后一個字符時并不會觸發(fā)eof,再讀一次讀不到數據才觸發(fā)eof,這樣c還保留著上一次的數據,又被輸出一次,peek()方法是讀取文件指針下一個位置的值,但并不移動文件指針,用在這里很合適
#include<iostream>
#include <fstream>
using namespace std;
void main()
{
fstream io;
char c;
io.open ("a.txt",ios::in);
while (io.peek()!=EOF) //這樣判斷
{
io>>c;
cout<<c;
}
cout<<endl;
io.close();
}