當前位置:首頁 » 編程語言 » c語言feof

c語言feof

發布時間: 2022-10-01 02:47:28

㈠ 不太理解c語言中的!feof(fp)

feof是c標准函數,原型:int feof(FILE *stream)是feof函數原型,文件結束返回非0值,否則返回0。fp對應上面的文件流,!是bool取反的意思,!feof(fp)組合起來就是文件尚未結束的邏輯。

㈡ C語言中feof的用法疑問

feof
只是「事後」檢查,它不會改變文件流的狀態,甚至根本不會去讀文件,它只會檢查相應的
FILE
結構體的
eof
標記。某種意義上,
feof
就是面向對象中的
getter
方法。
只有別的函數從文件裡面讀東西然後因為碰到錯誤於是需要的東西沒有讀出來,才會把
對應的
FILE
結構體

eof
標記設為真。

㈢ c語言中feof是什麼意思

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

EOF是文件結束標志的文件。在文本文件中,數據是以字元的ASCⅡ代碼值的形式存放,ASCⅡ代碼的范圍是0到255,不可能出現-1,因此可以用EOF作為文件結束標志。

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


(3)c語言feof擴展閱讀:

feof的正確寫法:

在VC里,只有當文件位置指針(fp->_ptr)到了文件末尾,然後再發生讀/寫操作時,標志位(fp->_flag)才會被置為含有_IOEOF。然後再調用feof(),才會得到文件結束的信息。

因此,如果運行如下程序:

char c;

while(!feof(fp))

{

c = fgetc(fp);

printf("%X/n", c);

}
會發現多輸出了一個FF,原因就是在讀完最後一個字元後,fp->flag仍然沒有被置為_IOEOF,因而feof()仍然沒有探測到文件結尾。直到再次調用fgetc()執行讀操作,feof()才能探測到文件結尾。這樣就多輸出了一個-1(即FF)。

正確的寫法應該是:

char c;
c = fgetc(fp);
while(!feof(fp))
{
printf("%X/n", c);
c = fgetc(fp);
}

㈣ c語言 while (!feof(fp))是什麼意思啊謝謝

feof()是文件結束檢測函數,如果沒有結束,返回值是0,結束了是1;

由於feof(fp)返回0才是沒有結束,所以通常寫成while(!feof(fp)),這樣使得沒有結束時進行循環;

C語言僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯

(4)c語言feof擴展閱讀:

C語言作為一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。

㈤ feof(fp)是什麼意思每一個字母如何解釋

feof是C語言標准庫函數,其原型在stdio.h中,其功能是檢測流上的文件結束符,如果文件結束,則返回非0值,否則返回0(即,文件結束:返回非0值,文件未結束,返回0值),文件結束符只能被clearerr()清除。(這里的檢測流上的文件結束符就相當於音效卡檢測電流信號的一個過程)

int feof(FILE *stream);

參數

流 :FILE結構的指針

注意:feof判斷文件結束是通過讀取函數fread/fscanf等返回錯誤來識別的,故而判斷文件是否結束應該是在讀取函數之後進行判斷。比如,在while循環讀取一個文件時,如果是在讀取函數之前進行判斷,則如果文件最後一行是空白行,可能會造成內存錯誤。

(5)c語言feof擴展閱讀

相關函數

getc()

功能:函數從流中返回一個字元值。

語法:int getc(FILE * stream)

返回值:整數值。

函數種類:「stdio.h」

內容說明:此函數和fgetc函數相似,但它是以一個宏來實現的。另外它將不止一次地計算流參數咖,這對通常的宏的規則來說是一個例外。getc是一個已經高度優化的函數,所以該函數是進行單個字元讀操作的最好的函數。

參考:如fputc();fgetc();putc();fopen()。

fputs()

功能:將字元串中的內容寫到指定的流中。

語法: int fputs(const char *s,FILE * stream)

返回值:整數值。

函數種類:「stdio.h」

內容說明:函數將字元串指針s所指向的字元串中的內容寫到流stream中。標志結束的空字元(NULL)不寫。函數也不另外增加一個換行符。只是輸出字元串中的所有字元。 函數操作成功時返回值為0,否則返回非0值。

如果流是以文本形式打開的,就會對有些字元進行翻譯操作。這意味著字元串可能會與文件內容之間沒有一一對應的映射關系。然而,當文件以二進制打開時,不發生字元翻譯,在字元串與文件內容之間存在一一對應的映射關系。

參考資料來源:網路-fgetc

參考資料來源:網路-feof

㈥ c語言編程問題。feof()函數的作用。

答案錯了
這個題目應該選C.
你的說法: 函數feof(fp)的作用是判斷文件fp是否結束. 若是,返回非零值,否則,返回0。
這句是完全正確的.

㈦ C語言中的feof怎麼用

feof(文件流指針)
,不到結尾返回0,否則返回1
就一個判斷狀態的函數
file
*fp=fopen。。。。
打開成功才能調用該函數
這個狀態檢測是當文件讀取函數發生讀失敗才會出現

㈧ 求C語言中feof的用法

feof(文件流指針) ,不到結尾返回0,否則返回1 就一個判斷狀態的函數 FILE *fp=fopen。。。。 打開成功才能調用該函數 這個狀態檢測是當文件讀取函數發生讀失敗才會出現

㈨ C語言中的feof函數

即使文件是空的,也要再讀一次,feof函數值才會變為真。
因為只有讀出所有的數據之後,再讀一次,函數feof(fp)的返回值才為真。(請見《C語言好程序設計—從入門到進階》,人民郵電出版社,2011。)
示例:
#include<stdio.h>
#include<stdlib.h>
main()
{
FILE *fp;
int a;
if((fp=fopen("c:\\number.txt","r"))==NULL)
{
printf("文件打開失敗!\n");
exit(0);
}
fscanf(fp,"%d",&a);
while(!feof(fp)) /*等價於while(feof(fp)==0)*/
{
printf("%d ",a);
fscanf(fp,"%d",&a);
}
fclose(fp);
}

熱點內容
兒童文學編譯思想 發布:2024-12-25 10:22:49 瀏覽:311
vb反編譯修改 發布:2024-12-25 10:21:21 瀏覽:755
老外解壓 發布:2024-12-25 10:08:29 瀏覽:404
外網訪問內網服務 發布:2024-12-25 10:04:49 瀏覽:641
起點小說怎麼上傳封面 發布:2024-12-25 10:03:34 瀏覽:628
java一維數組定義 發布:2024-12-25 09:42:06 瀏覽:250
大積木編程 發布:2024-12-25 09:38:14 瀏覽:689
喋血復仇配置不夠怎麼辦 發布:2024-12-25 09:35:59 瀏覽:368
提示沒有配置emo伺服器地址 發布:2024-12-25 09:35:21 瀏覽:316
python編輯excel 發布:2024-12-25 09:21:19 瀏覽:154