c語言中的EOF是什麼意思,c語言中! EOF是什麼意思啊

時間 2021-10-14 23:49:04

1樓:月影兒格格

eof是end of file的意思,在c語言中定義的一個巨集,用作檔案結束標誌。從數值角度看,就是-1。

從一個終端的輸入從來不會真的「結束」(除非裝置被斷開),但把從終端輸入的資料分割槽成多個「檔案」卻很有用,因此一個關鍵的序列被保留下來來指明輸入結束。

在unix和amigados中,將擊鍵翻譯為eof的過程是由終端的驅動程式完成的,因此應用程式無需將終端和其它輸入檔案區分開來。

unix平臺的驅動程式在行首傳送一個傳輸結束字元(control-d,ascii編碼為為04)來指明檔案結束。

在amigados中,驅動程式傳送一個control-\來指明檔案結束(而control-d被用作中斷字元)。要向輸入流中插入一個真正的control-d字元,使用者需要把一個「引用」命令字元放在它的前面(通常是control-v,表示下一個字元不作為控制字元,而是按照字面量使用)。

在微軟的dos和windows(以及cp/m和許多dec作業系統)中,讀取資料時終端不會產生eof。此時,應用程式知道資料來源是一個終端(或者其它「字元裝置」),並將一個已知的保留的字元或序列解釋為檔案結束的指明;最普遍地說,它是ascii碼中的替換字元(control-z,**26)。

一些ms-dos程式,包括部分微軟ms-dos的shell(command.com)和作業系統功能程式(如edlin),將文字文件中的control-z視為有意義資料的結尾,並且/或者在寫入文字文件時將control-z新增到文件末尾。這是由於兩個原因:

1、向後相容cp/m。cp/m的第1版與第2版的檔案系統以128位元組「塊」的倍數記錄檔案長度,所以當有意義資料在一個「塊」的中間結束時,習慣上用control-z字元來標記它,此後至塊結尾的位元組為未利用。而ms-dos檔案系統總會記錄檔案確切的位元組長度,所以在ms-dos中檔案不再必需以control-z字元來標記結尾。

2、它使得應用程式在從終端和文字文件讀取資料時得以使用相同的**。

概念:在c語言中,或更精確地說成c標準函式庫中表示檔案結束符(end of file)。在while迴圈中以eof作為檔案結束標誌,這種以eof作為檔案結束標誌的檔案,必須是文字檔案。

在文字檔案中,資料都是以字元的ascii**值的形式存放。我們知道,ascii**值的範圍是0~127,不可能出現-1,因此可以用eof作為檔案結束標誌。

應用:檔案存取或其它 i/o 功能可能傳回等於象徵符號值 (巨集) eof 指示檔案結束的情形發生。實際上 eof 的值通常為 -1,但它依系統有所不同。

巨集 eof會在編譯原始碼前實際值給前處理器。

c語言中,eof常被作為檔案結束的標誌。還有很多檔案處理函式處錯誤後的返回值也是eof,因此常被用來判斷呼叫一個函式是否成功。

例如:在 unix中, eof表示能從互動式 shell (終端) 送出 ctrl+d (習慣性標準)。在微軟的 dos 與 windows 中能送出 ctrl+z。

在某些例子處理純文字檔案或從"字元裝置"讀入資料,微軟ms-dos的 shell 或系統程式會加入asciicontrol-z 字元到磁碟檔案結束處 (儘管基本核心msdos.sys檔案寫入呼叫從未附加 control-z)。這是向下相容於一些奇特的cp/m功能,從cp/m 檔案系統只能就記錄的檔案長度分配多少 128 位元 "記錄"。

ms-dos 檔案系統從一開始就能精確的記錄檔案的位元長度。

ascii控制字元在字元串流是 out-of-band 不可列印字元。通常表可讀的助憶碼。

在控制檯要輸入eof的話 按alt+65535就可以了。

與feof:

c語言中,當把資料以二進位制形式存放到檔案中時,就會有-1值的出現,此時不能採用eof作為二進位制檔案的結束標誌。為解決這個問題,ansi c提供一個feof函式,用來判斷檔案是否結束。如果遇到檔案結束,函式feof(fp)的值為1,否則為0.

feof函式既可用以判斷二進位制檔案是否結束,也可以用以判斷文字檔案是否結束。[1]

eof 函式:

返回一個數值(整數型別integer),它包含布林值boolean值true,表明已經到達為random(open語句方法)或順序input (open 語句方法)開啟的檔案的結尾。

語法:eof(filenumber)

必要的filenumber引數是一個integer,包含任何有效的檔案號。

說明:eof (end of file)

使用eof是為了避免因試圖在檔案結尾處進行輸入而產生的錯誤。

直到到達檔案的結尾,eof函式都返回false。對於為訪問random或binary而開啟的檔案,直到最後一次執行的get語句無法讀出完整的記錄時,eof都返回false。

2樓:小天學長

eof為end of file的縮寫,在作業系統中表示資料源無更多的資料可讀取。

do while not eof(1)解釋:判斷當eof(1)的值為true時停止do迴圈。

使用eof是為了避免因試圖在檔案結尾處進行輸入而產生的錯誤。

直到到達檔案的結尾,eof函式都返回false。對於為訪問random或binary而開啟的檔案,直到最後一次執行的get語句無法讀出完整的記錄時,eof都返回false。

擴充套件資料

eof(filenumber):必要的filenumber引數是一個integer,包含任何有效的檔案號

eof 指示當前記錄位置位於 recordset 物件的最後一個記錄之後。

bof 指示當前記錄位置位於 recordset 物件的第一個記錄之前。

eof一般是指結尾,比如:sql 中指標到最後一個 rs.eof = true 時,eof是判斷sql取出來的記錄是否到末尾了;而bof是判斷是不是在記錄最前面。

3樓:國嬡帥嘉寶

eod是end

offile的縮寫

。你在用函式讀入檔案資料的時候,函式總會返回一個狀態,是讀取成功還是失敗,那麼這個狀態怎麼表示呢,所以就約定俗成定義一個識別符號表示這個狀態,就有了eof。

scanf函式只有在第一個引數為null(空指標)的情況下,才可能返回eof,否則,返回成功格式化並賦值的引數個數(>=0)。

所以,這個迴圈,將是一個死迴圈。

擴充套件資料:

eof是一個計算機術語,為end

offile的縮寫,在作業系統中表示資料源無更多的資料可讀取。資料源通常稱為檔案或串流。通常在文字的最後存在此字元表示資料結束。

在c語言中,或更精確地說成c標準函式庫中表示檔案結束符(end

offile)。在while迴圈中以eof作為檔案結束標誌,這種以eof作為檔案結束標誌的檔案,必須是文字檔案。

在文字檔案中,資料都是以字元的ascii**值的形式存放。我們知道,ascii**值的範圍是0~127,不可能出現-1,因此可以用eof作為檔案結束標誌。

參考資料:eof–搜狗百科

4樓:匿名使用者

檔案結尾 不過先要用open方法 開啟檔案 1是開啟檔案** 如開啟多個檔案 1就是第1個檔案 意思就是按行讀到 讀取到檔案最後一行時退出迴圈

do while not eof(1)

……'中間是要執行的**

loop

5樓:岔路程式緣

首先,eof()是一個函式,所以它有函式值,它的函式值有兩個true和false。它的()裡的1就是引數。

它的含義是:讀取檔案的指標指到檔案尾時,它的值就是true。還沒有讀到檔案尾時,它的值為false。

括號裡的引數是它判斷的檔案的檔案號。

這個函式使用的範圍太有限了!平時做計算用不到它,只在讀取順序檔案時才用的到。

do while not eof(1)解釋:

判斷當eof(1)的值為true時停止do迴圈。

——這一語句經常用到順序檔案的讀取中。

6樓:匿名使用者

end of file

迴圈 當前讀取處當不是(1號)檔案結尾的時候do while not eof(1) = do until eof(1) 迴圈 直到1號檔案結束

open ***** as #5

do while not eof(5) = do until eof(5)

7樓:匿名使用者

eof函式當達到檔案尾時返回真,沒到檔案尾時當然是返回假了

那個就是說沒達到檔案尾時一直迴圈!

c語言中!=eof是什麼意思啊

8樓:靠名真tm難起

!=是不等於,eof是檔案結尾標誌,所以意思是沒有到檔案結尾

eof是一個計算機術語,為end of file的縮寫,在作業系統中表示資料源無更多的資料可讀取。資料源通常稱為檔案或串流。通常在文字的最後存在此字元表示資料結束。

9樓:浪子_回頭

eod 是end of file的縮寫 。

你在用函式讀入檔案資料的時候,函式總會返回一個狀態,是讀取成功還是失敗,那麼這個狀態怎麼表示呢,所以就約定俗成定義一個識別符號表示這個狀態,就有了eof。

scanf函式只有在第一個引數為null(空指標)的情況下,才可能返回eof,否則,返回成功格式化並賦值的引數個數(>=0)。

所以,這個迴圈,將是一個死迴圈。

10樓:小天學長

eof為end of file的縮寫,在作業系統中表示資料源無更多的資料可讀取。

do while not eof(1)解釋:判斷當eof(1)的值為true時停止do迴圈。

使用eof是為了避免因試圖在檔案結尾處進行輸入而產生的錯誤。

直到到達檔案的結尾,eof函式都返回false。對於為訪問random或binary而開啟的檔案,直到最後一次執行的get語句無法讀出完整的記錄時,eof都返回false。

擴充套件資料

eof(filenumber):必要的filenumber引數是一個integer,包含任何有效的檔案號

eof 指示當前記錄位置位於 recordset 物件的最後一個記錄之後。

bof 指示當前記錄位置位於 recordset 物件的第一個記錄之前。

eof一般是指結尾,比如:sql 中指標到最後一個 rs.eof = true 時,eof是判斷sql取出來的記錄是否到末尾了;而bof是判斷是不是在記錄最前面。

c語言中的EOf是什麼意思,C語言中EOF是什麼意思啊?具體怎麼運用啊?

小天學長 eof為end of file的縮寫,在作業系統中表示資料源無更多的資料可讀取。do while not eof 1 解釋 判斷當eof 1 的值為true時停止do迴圈。使用eof是為了避免因試圖在檔案結尾處進行輸入而產生的錯誤。直到到達檔案的結尾,eof函式都返回false。對於為訪問...

C語言中EOF到底是什麼,c語言中的EOf是什麼意思

閃從霜蓋吉 eof是c語言裡面的一個巨集,它的值為 1 而scanf 函式出錯時返回 1 因此,當輸入有錯誤時退出迴圈 c語言標準庫中的eof 是巨集常數,其定義是 define eof 1 程式中凡寫eof處,將用 1 替代,替代後再編譯。while c getchar eof 就是 while ...

C語言中,這條語句是什麼意思,c語言中,這個語句是什麼意思啊?

自我程式設計 這叫遞迴函式 自己呼叫自己 遞迴只有執行到呼叫自己的地方,就會進入下一層。一層一層巢狀,直到某一層不再執行呼叫 對應這題就是n 1不成立的那一層 然後,從最後一層往前返回。執行流程如下 1 執行sum fun a 2,4 這裡把a首地址往後偏移2位的陣列傳入 既3,4,5.的陣列 所以...