溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言中feof函數(shù)怎么用

發(fā)布時間:2021-10-11 16:31:45 來源:億速云 閱讀:475 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細講解有關(guān)C語言中feof函數(shù)怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一.feof 函數(shù)簡介

feof是一個c語言函數(shù),既可用以判斷二進制文件又可用以判斷文本文件。feof(fp)有兩個返回值:如果遇到文件結(jié)束,函數(shù)feof(fp)的值為1,否則為0。

EOF是文件結(jié)束標志的文件。在文本文件中,數(shù)據(jù)是以字符的ASCⅡ代碼值的形式存放,ASCⅡ代碼的范圍是0到255,不可能出現(xiàn)-1,因此可以用EOF作為文件結(jié)束標志。

當把數(shù)據(jù)以二進制形式存放到文件中時,就會有-1值的出現(xiàn),因此不能采用EOF作為二進制文件的結(jié)束標志。為解決這一個問題,ASCI C提供一個feof函數(shù),用來判斷文件是否結(jié)束。

C語言中feof函數(shù)怎么用

聲明如下:

#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ù)之后進行判斷。

比如,在 while 循環(huán)讀取一個文件時,如果是在讀取函數(shù)之前進行判斷,則如果文件最后一行是空白行,可能會造成內(nèi)存錯誤。

關(guān)于“C語言中feof函數(shù)怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI