这篇文章将为大家详细讲解有关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);
/******************************************************************************************/ //@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函数怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。