EOF

EOF

EOF為計算機術語End Of File的縮寫。在作業系統中表示資料源無更多的資料可讀取。資料源通常稱為檔案或串流。在C標準庫中,像getchar這樣的數據讀取函式返回一個與符號(宏)EOF相等的值來指明檔案結束的情況發生,EOF的真實值與不同的平台有關(但通常是-1,比如在glibc中),並且不等於任何有效的字元代碼。塊讀取函式返回讀取的位元組數,如果它小於要求讀取的位元組數,就會出現一個檔案結束符。

基本信息

計算機術語

概念

在C語言中,或更精確地說成C標準函式館中表示檔案結束符(end of file)。在while循環中以EOF作為檔案結束標誌,這種以EOF作為檔案結束標誌的檔案,必須是文本檔案。在文本檔案中,數據都是以字元的ASCII代碼值的形式存放。我們知道,ASCII代碼值的範圍是0~127,不可能出現-1,因此可以用EOF作為檔案結束標誌。

套用

檔案存取或其它 I/O 功能可能傳回等於象徵符號值 (巨集) EOF 指示檔案結束的情形發生。實際上 EOF 的值通常為 -1,但它依系統有所不同。巨集 EOF會在編譯原始碼前展開實際值給預處理器。

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

例如:

#include

int main(void)

{

int n,i;

int array;

while (scanf("%d",&n),n!=EOF) //while(scanf("%d",&n)!=EOF)

{

for (i=0; i

scanf("%d",array+i);

for (i=0; i

printf ("%d ",array[i]);

}

return 0;

}

在 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函式既可用以判斷二進制檔案是否結束,也可以用以判斷文本檔案是否結束。

例如:編寫程式,用於把一個文本檔案(源檔案)複製到另一個檔案(目的檔案)中。源檔案名稱為file_a.dat,目的檔案名稱為file_b.dat。程式如下:

#include

#include

#include

#include

voidfilecopy(FILE *,FILE *);

main ( )

{

FILE*fpin,*fpout;

fpin =fopen ("file_a.dat","r"); /*打開輸入檔案*/

fpout = fopen ("file_b.dat","w"); /*打開輸出檔案*/

filecopy( fpin,fpout ); /*把fpin所指檔案中的內容輸出到fpout所指檔案中*/

fclose ( fpin );fclose ( fpout ); /*關閉輸入輸出檔案*/

}

voidfilecopy( FILE *fpin, FILE *fpout )

{

char ch;

ch = getc ( fpin ); /*先讀一次檔案再去判檔案是否結束*/

while ( !feof( fpin ) ) /*當未到檔案末尾是進行循環*/

{

putc ( ch, fpout ); ch= getc ( fpin );} /*逐個字元進行複製*/

}

}

VbEOF函式

返回一個數值(整數類型Integer),它包含(布爾值Boolean值True),表明已經到達為Random(Open語句方法)或順序Input (Open 語句方法)打開的檔案的結尾。

語法

EOF(filenumber)

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

說明

EOF (End Of File)

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

直到到達檔案的結尾,EOF函式都返回False。對於為訪問Random或Binary而打開的檔案,直到最後一次執行的Get語句無法讀出完整的記錄時,EOF都返回False。

經驗正交函式

Empirical Orthogonal Function,中文名稱:經驗正交函式。

定義:氣象學中常使用在氣象要素場的分解或展開上的一種隨資料組成而變化的特殊函式,它的特點是展開式收斂快,能以少數幾項逼近變數場的狀態。 在國內的氣象、海洋研究中常常使用的是EOF正交函式分解,但是國外的研究常使用的是PCA(主變數分析方法),二者的原理基本一致。所屬學科:大氣科學(一級學科);動力氣象學(二級學科)

化學術語

化學中,亦指電滲流,Electroosmotic Flow。

相關搜尋

熱門詞條

聯絡我們