看到书中讲解,fgets()函数在读到文件结尾的时候,或者 读取错误的时候返回 NULL。 但是,这里的 读到文件结尾到底是什么意思?
例如下面的程序:
#include<stdio.h>
#define LENG 100
#define CHANG 20
int main(void)
{
char words[LENG];
FILE *fp;
char *ptr;
int num,i=0;
fp=fopen("1221-1.txt","a+");
ptr=fgets(words, CHANG,fp);
printf("the ptr is %d.\n",*ptr);
fputs(words,stdout);
fclose(fp);
return 0;
}
比如上面的程序, 文件中只在开始处 包含 5个a, , 这样 fgets是可以读到结尾的,但是返回值并不是NULL, 而是字符数组的首地址。
能不能讲的 透彻 清晰一点,到底什么时候 返回NULL。