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

 更新时间:2021年10月11日 14:54:26   作者:猿说编程  
这篇文章主要给大家分享的是关于C语言文件读写 feof 函数 ,feof 是 C 语言标准库函数,其功能是检测文件结束符,如果文件结束,则返回非 0 值,否则返回 0,感兴趣的小伙伴请跟小编一起来看看下面文章的内容吧

一.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:2021/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 循环读取一个文件时,如果是在读取函数之前进行判断,则如果文件最后一行是空白行,可能会造成内存错误。

到此这篇关于关于C语言 文件读写 feof 函数 的文章就介绍到这了,更多相关C语言 文件读写 feof 函数 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言中 int main(int argc,char *argv[])的两个参数详解

    C语言中 int main(int argc,char *argv[])的两个参数详解

    这篇文章主要介绍了C语言中 int main(int argc,char *argv[])的两个参数详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • 基于C语言实现shell指令的详解

    基于C语言实现shell指令的详解

    本篇文章是对C语言实现shell指令的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言的递归函数详解

    C语言的递归函数详解

    这篇文章主要为大家介绍了C语言的递归函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • C语言开发实现贪吃蛇小游戏

    C语言开发实现贪吃蛇小游戏

    这篇文章主要为大家详细介绍了C语言开发实现贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • C语言实现将字符串转换成整数

    C语言实现将字符串转换成整数

    这篇文章主要为大家详细介绍了如何用C语言写一个函数,把字符串转换成整数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • C++中的异常实例详解

    C++中的异常实例详解

    异常处理是C++的一项语言机制,用于在程序中处理异常事件,下面这篇文章主要给大家介绍了关于C++中异常的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • C++类中const修饰的成员函数及日期类小练习

    C++类中const修饰的成员函数及日期类小练习

    将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,表明在该成员函数中不能对类的任何成员进行修改,下面这篇文章主要给大家介绍了关于C++类中const修饰的成员函数及日期类小练习 的相关资料,需要的朋友可以参考下
    2023-01-01
  • c/c++拷贝构造函数和关键字explicit详解

    c/c++拷贝构造函数和关键字explicit详解

    这篇文章主要介绍了c/c++拷贝构造函数和关键字explicit的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • C++中vector容器使用详细说明

    C++中vector容器使用详细说明

    在c++中,vector是一个十分有用的容器,下面通过本文给大家介绍C++中vector容器使用详细说明,需要的朋友可以参考下
    2016-10-10
  • C++中取余运算的实现

    C++中取余运算的实现

    这篇文章主要介绍了C++中取余运算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论