/*copyright(c)2016.烟台大学计算机学院
02. * All rights reserved,
03. * 文件名称:text.Cpp
04. * 作者:刘涛
05. * 完成日期:2016年6月10日
06. * 版本号:vc++6.0
07. * 问题描述:阅读程序
08. */
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
fstream outfile,infile;
outfile.open("data.dat",ios::out);
outfile<<"1111111111"<<endl;
outfile<<"aaaaaaaaaa"<<endl;
outfile<<"AAAAAAAAAA"<<endl;
outfile<<"**********"<<endl;
outfile.close();
infile.open("data.dat",ios::in);
char line[80];
int i=0;
while(!infile.eof())
{
i++;
infile.getline(line,sizeof(line));
cout<<i<<": "<<line<<endl;
}
infile.close();
return 0;
}
运行结果:
前四次结果无可厚非,第五次的原因正如上课老师讲的,它停在***************之后,并未退出循环,继续往下判断了一次。
getline函数功能:
–从输入流中读入字符,存到string变量
–直到出现以下情况为止:
•读入了文件结束标志
•读到一个新行
•达到字符串的最大长度
–如果getline没有读入字符,将返回false,可用于判断文件是否结束
这里属于没有读入字符,所以返回false,什么也不输出。