關(guān)于C語言 文件讀寫 feof 函數(shù)
一.feof 函數(shù)簡介
feof是一個c語言函數(shù),既可用以判斷二進(jìn)制文件又可用以判斷文本文件。feof(fp)有兩個返回值:如果遇到文件結(jié)束,函數(shù)feof(fp)的值為1,否則為0。
EOF是文件結(jié)束標(biāo)志的文件。在文本文件中,數(shù)據(jù)是以字符的ASCⅡ代碼值的形式存放,ASCⅡ代碼的范圍是0到255,不可能出現(xiàn)-1,因此可以用EOF作為文件結(jié)束標(biāo)志。
當(dāng)把數(shù)據(jù)以二進(jìn)制形式存放到文件中時,就會有-1值的出現(xiàn),因此不能采用EOF作為二進(jìn)制文件的結(jié)束標(biāo)志。為解決這一個問題,ASCI C提供一個feof函數(shù),用來判斷文件是否結(jié)束。
聲明如下:
#include <stdio.h> #include <stdlib.h> /* *描述:檢測文件結(jié)束符 * *參數(shù): * [in] stream:文件指針句柄 * *返回值:如果文件結(jié)束,則返回非0值,否則返回0,文件結(jié)束符只能被 clearerr 清除 */ int feof(FILE *stream);
二.feof 函數(shù)實戰(zhàn)
/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 文件讀寫 feof 函數(shù)
//@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 判斷文件結(jié)束是通過讀取函數(shù) fread / fscanf / fgetc 等返回錯誤來識別的,故而判斷文件是否結(jié)束應(yīng)該是在讀取函數(shù)之后進(jìn)行判斷。
比如,在 while 循環(huán)讀取一個文件時,如果是在讀取函數(shù)之前進(jìn)行判斷,則如果文件最后一行是空白行,可能會造成內(nèi)存錯誤。
到此這篇關(guān)于關(guān)于C語言 文件讀寫 feof 函數(shù) 的文章就介紹到這了,更多相關(guān)C語言 文件讀寫 feof 函數(shù) 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++?Boost?StringAlgorithms超詳細(xì)講解
Boost是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱2022-11-11
新手向超詳細(xì)的C語言實現(xiàn)動態(tài)順序表
本文主要介紹了C語言實現(xiàn)動態(tài)順序表,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
C語言數(shù)組應(yīng)用實現(xiàn)三子棋游戲
這篇文章主要為大家詳細(xì)介紹了C語言數(shù)組應(yīng)用實現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06

