feof()函数
feof()函数用于判断文件是否处于文件结束位置,该函数的声明如下所示:
int feof(FILE * stream);
上述函数声明中,参数stream表示一个文件指针。如果文件已处于文件结束位置,该函数返回1,否则返回0。
接下来通过一个具体案例来学习一下feof()函数的使用,首先在项目根目录下新建文件feof.txt,并输入itcast,然后保存,feof.txt文件内容如图1所示。
图1 feof.txt文件内容
接下来使用fgetc()函数读取文件中的内容,演示feof()函数的用法,如例1所示。
例1 feofFile.c
1 #define _CRT_SECURE_NO_WARNINGS
2 #include <stdio.h>
3
4 int main()
5 {
6 FILE* fp;
7 int n = 0;
8 fp = fopen("feof.txt", "rb");
9 if (fp == NULL)
10 perror("文件打开错误");
11 while (fgetc(fp) != EOF)
12 {
13 n++;
14 }
15 if (feof(fp))
16 {
17 puts("到达文件末尾");
18 printf("读取到的字符个数为: %d\n", n);
19 }
20
21 fclose(fp);
22 return 0;
23 }
例1运行结果如图2所示。
图2 例1运行结果
在例1中,第11~14行代码使用fgetc()函数逐个读取文件中的字符并将字符个数保存到变量n中;第15~19行代码使用feof()函数判断文件是否读取到末尾,如果到达末尾,则调用puts()函数输出“到达文件末尾”,并调用printf()函数输出从文件中读取到的字符个数。