首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个读文件的程序,小弟我是在找不出出错的原因,帮小弟我看一下,多谢

2012-02-12 
一个读文件的程序,我是在找不出出错的原因,帮我看一下,谢谢!#includeiostream #includefstream usingn

一个读文件的程序,我是在找不出出错的原因,帮我看一下,谢谢!
#include <iostream > 
#include <fstream > 
using namespace std; 

void main() 

  ifstream inFile; 
  inFile.open("file.txt",ios::in); 
  if( !inFile ) 
  cout < < "can "t open" < < endl; 

  char ch = "\0 "; 
  while( !inFile.eof() ) 
  { 
  inFile.get(ch); 
  cout < < ch < < endl; 
  } 
  inFile.close(); 

如果我file.txt中的内容是:1 2 3 为什么最后输出的结果是 1 2 3 3
如果我把程序改成

inFile.get(ch); 
  while( !inFile.eof() ) 
  { 
  cout < < ch < < endl; 
  inFile.get(ch); 
  } 
就可以输出正常结果: 1 2 3

[解决办法]
while( !inFile.eof() )
{
inFile.get(ch);
cout < < ch < < endl;
}
//读取到最后一个字符,eof标志为被设置,继续执行一次循环,输出,eof标志被设置,结束循环
所以多输出了一个字符

while( !inFile.eof() )
{
cout < < ch < < endl;
inFile.get(ch);


// 输入最后一个字符后,继续获取,eof标志被设置,循环退出, 


热点排行