回覆列表
  • 1 # 使用者5916393697425

    1、首先,EOF(x)是一個函式,它的返回的函式值是boolean型:當資料指標指向檔案末尾時,它的值為true,當指標未指向檔案末尾時它的值為false. 函式中的x是一個整型數,代表開啟檔案時定義的檔案號。

    一般eof函式跟讀取順序檔案相聯絡,以防到達檔案末尾時還要讀取資料而出現錯誤。使用方法是:先開啟檔案,每讀一個數據後用eof判斷是否到了檔案末尾,如果不到則繼續讀取,如果到達結尾(eof()=true)則說明已經到達檔案末尾,不存在沒有讀取的資料了,所以立即停止讀取。

    樓主所舉的這個例子恰恰是實現這個過程的其中一句。

    2、not eof(1)的含義:“1”表示開啟檔案時使用的通道號為1#。它的意思是當檔案正在讀取時,如果指標沒有到達結尾,eof(1)=false,根據布林代數運算規則,not eof(1)的值為true;而當指標到達檔案結尾時,not eof(1)的值為false。

    3、do while not eof(1)是一個迴圈語句,它的迴圈條件是not eof(1)=true,剛才分析過,這個取值表示指標沒有到達檔案結尾。而停止迴圈的條件是not eof(1)=false,這個值只有當指標檔案到達尾部時才取得。

    所以,這個迴圈條件是指:當指標沒有到達檔案結尾時,繼續迴圈,而一旦指標到達檔案結尾,則停止迴圈。

    舉一個讀取順序檔案的例子吧:

    open d:\a.txt for input as #1

    do while not eof(1)

    input #1,a

    loop

    這樣就把檔案d:\a.txt 中的資料全部讀了一遍。當然讀取之後再做什麼運算或賦值是還要另外程式設計解決地。

  • 中秋節和大豐收的關聯?
  • 理不亂剪還亂是什麼意思?