这段读文本文件的代码哪里出错了?最后一行总是读两遍。
代码如下:
FILE *fp;
char line[255];
memset(line,0,255);
fp = fopen("file.txt","r+");
if( fp == NULL )
{
printf("file can not open!!");
exit( 1 );
}
while( !feof( fp ) )
{
fgets(line,255,fp);//每行中的内容都读入到line中
nline++;//行记数,共有多少行
printf("%s",line);
}
如果文本文件最后一行的内容为:"abcdefgh"然后敲回车换行,但下一行没任何内容也没有空格,仅仅敲一下回车,然后用按行读,最后一行总是读两遍(两行abcdefgh)。这到底是哪里出错了呢?