信息发布→ 登录 注册 退出

关于C语言 文件读写 feof 函数

发布时间:2026-01-11

点击量:
目录
  • 一.feof 函数简介
  • 二.feof 函数实战

一.feof 函数简介

feof是一个c语言函数,既可用以判断二进制文件又可用以判断文本文件。feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为1,否则为0。

EOF是文件结束标志的文件。在文本文件中,数据是以字符的ASCⅡ代码值的形式存放,ASCⅡ代码的范围是0到255,不可能出现-1,因此可以用EOF作为文件结束标志。

当把数据以二进制形式存放到文件中时,就会有-1值的出现,因此不能采用EOF作为二进制文件的结束标志。为解决这一个问题,ASCI C提供一个feof函数,用来判断文件是否结束。

声明如下:

#include <stdio.h>
#include <stdlib.h>

/*
*描述:检测文件结束符
*
*参数:
*   [in]  stream:文件指针句柄
*
*返回值:如果文件结束,则返回非0值,否则返回0,文件结束符只能被 clearerr 清除
*/

int feof(FILE *stream);

二.feof 函数实战

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 文件读写 feof 函数
//@Time:2025/07/22 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE *stream;
    /*open a file for reading*/
    stream = fopen("DUMMY.FIL", "r");
    /*read a character from the file*/
    fgetc(stream);
    /*check for EOF*/
    if(feof(stream))
        printf("We have reached the end of file\n");
    /*close the file*/
    fclose(stream);
    return 0;
}

注意:feof 判断文件结束是通过读取函数 fread / fscanf / fgetc 等返回错误来识别的,故而判断文件是否结束应该是在读取函数之后进行判断。

比如,在 while 循环读取一个文件时,如果是在读取函数之前进行判断,则如果文件最后一行是空白行,可能会造成内存错误。

标签:# 可以用  # br  # ASCI  # 就会有  # 有两个  # 中时  # 值为  # 又可  # 则为  # 既可  # 提供一个  # 坚持不懈  # 千里  # C语言  # 句柄  # 不可能  # 这一  # 是一个  # 返回值  # 文本文件  # 是在  # C语言中feof函数和ferror函数示例详解  # 函数  # feof  # 文件读写  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!