在文件读取过程中,不能用feof函数的返回值来判断文件是否结束,而是当文件读取结束的时候,判断是读取失败结束的,还是遇到文件尾结束的。
分为两步骤解决:一、先判断是否结束;二、再判断如何结束。
一、用于判断文件读取是否结束,有两种方法:
1. EOF,使用fgetc(文件结构体指针),获取文件中的一个字符,如果这个字符等于EOF,说明读取文件结束;
2. NULL,使用fgets(文件结构体指针),获取文件中的字符串,如果这个字符串返回NULL,说明读取文件结束。
二、上述方法判断读取文件结束了,接下来判断是如何结束的:
1. 使用ferror,表明是读取失败才结束的;
2. 使用feof,表示读取的文件末尾才结束的。