关于C语言 文件读写 feof 函数
时间:2022-04-02 14:28:03|栏目:C代码|点击: 次
一.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++优先队列priority_queue的用法
栏 目:C代码
本文标题:关于C语言 文件读写 feof 函数
本文地址:http://www.codeinn.net/misctech/198005.html