您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。