当使用fgets(buf,size,fp)函数读取文件中的行时,最后一行不包含换行符,那怎么让其它行也不包含呢?这么整
char buf[50];
while(!feof(fp))//如果文件没有到达末尾则循环
{
fgets(buf,50,fp);//读取一行
if(feof(fp))//检测文件,如果到达末尾就读取实际字符,因为此时不包含换行符
{
if(strlen(buf)!=72)//一行有72个空格字符
{
string s(buf,strlen(buf)) ;
}
break;
}
string s(buf,strlen(buf)-1);
}
讲讲feof,每当读取一行后,fp指向下一行的开头,到达文件末尾时,它是不包含换行符的,否则就包含。
到达文件末尾返回真,否则返回假。
这个功能就是按行读取所需要的实际字符。