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.的陣列 所以...