添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
處理的檔案都是 循序檔 (sequential files), 即檔案中每一 記錄 都是循序寫入的, 而且也必須循序讀出。 這表示要在循序檔中讀出一特定記錄, 之前所有記錄必須先讀出。 另一種檔案稱為 直接接達檔 (direct-access files), 檔案中每一記錄可以直接讀寫, 通常是經由記錄號碼。 直接接達檔中所有記錄, 其長度必須相同, 而且不能更動。 循序檔中的記錄長度可 以變動。

檔案也可分成 有格式 無格式 兩種。 目前提及的檔案都是有格式的。 有格式的檔案中記錄所含資訊是用外顯字元的形式表示, 而無格式的檔案中記錄則是用 二進形式表示。 因此無格式的檔案中記錄的確實形式, 隨機器而有所不同。

11.1 OPEN, CLOSE, 和 INQUIRE 敘述

在第六章中提及, 在使用檔案輸入或輸出之前,檔案必須先標明所用的單位規定式號碼。 OPEN 敘述的一般形式為

OPEN ( open-list )

其中 open-list

  • 單位規定式


  • 大多也包括

  • FILE = 子句,列出檔案名稱
  • STATUS =子句,規定檔案的新舊。


  • 也可包括選自下列的其他規定式:

  • IOSTAT =子句,指示檔案是否順利打開。
  • =子句,規定若在開檔發生錯誤時,所要執行檔案的號碼。
  • ACCESS =子句,規定檔案是循序或直接。
  • FORM =子句,規定檔案是有格式或無格式的。
  • RECL =子句,規定直接接達檔的記錄長度。
  • BLANK =子句,規定數值欄中的空白是當做 0 或是略過。
  • 單位規定式

    單位規定式的形式為, UNIT = integer-exp integer-exp 其中 integer-exp 的數值是零或正整數, 指定檔案的單位號碼。 READ 或 WRITE 敘述使用此單位號碼讀寫其連接的檔案。 使用第二種形式時, integer-exp 必須是 open-list 的第一項。

    FILE = 子句

    FILE = 子句的形式為, FILE = char-exp 其中 char-exp (略去末尾的空白)是單位號碼所連接的檔案名稱。

    STATUS = 子句

    STATUS = 子句的形式為, STATUS = char-exp 其中 char-exp (略去末尾的空白) 之值是下列之一: OLD 舊檔, 必須用 FILE = 子句規定檔名。 NEW 新檔, 必須用 FILE = 子句規定檔名。 SCRATCH 草稿檔, 必須不用檔名。 UNKNOWN 未知檔, 以上皆非。 若省略 STATUS = 子句, 則預設為未知檔。

    IOSTAT = 子句

    FILE = 子句的形式為, IOSTAT = int-var 其中 int-var 之值為零或正整數。 開檔順利, 則為零。 否則為正整數, 代表系統手冊中的錯誤信文之號碼。

    ERR = 子句

    ERR = 子句的形式為, ERR = n 其中 n 規定若在開檔發生錯誤時,所要執行檔案的號碼。

    ACCESS = 子句

    ACCESS = 子句的形式為, ACCESS = char-exp 其中 char-exp (略去末尾的空白) 之值是下列之一: SEQUENTIAL 規定檔案是循序 DIRECT 規定檔案是直接 若省略此子句, 則預設為循序檔。

    FORM = 子句

    FORM = 子句的形式為, FORM = char-exp 其中 char-exp (略去末尾的空白) 之值是下列之一: FORMATTED 規定檔案是有格式的 UNFORMATTED 規定檔案是無格式的 若省略此子句, 則循序檔預設為有格式的, 而直接檔預設為無格式的。

    RECL = 子句

    RECL = 子句的形式為, RECL = int-exp 其中 int-exp 之值為正。 此子句只在直接接達檔使用, 規定其記錄長度。 在有格式檔, 指的是 該檔每一記錄的字元數, 在無格式檔, 則視處理器(processor)而定。

    BLANK = 子句

    BLANK = 子句的形式為, BLANK = char-exp 其中 char-exp (略去末尾的空白) 之值是下列之一: ZERO 規定數值欄中的空白是當做 0。 NULL 規定略過數值欄中的空白。 若數值欄中全是空白, 則不論 ZERO 或 NULL, 都當做 0。

    CLOSE 敘述 用以切斷檔案和單位號碼的連接。 CLOSE 敘述的一般形式為

    CLOSE ( close-list )

    其中 close-list

  • 單位規定式

  • 也可包括選自下列的其他規定式:
  • IOSTAT =子句,指示檔案是否順利關閉。
  • =子句,規定若在關檔發生錯誤時,所要執行檔案的號碼。
  • STATUS =子句,規定檔案要保留或刪除。
  • STATUS = 子句的形式為, STATUS = char-exp 其中 char-exp (略去末尾的空白) 之值是下列之一: KEEP 規定關檔後保留該檔。 DELETE 規定關檔後刪除該檔。 SCRATCH 檔不可用 KEEP。 若省略 STATUS = 子句, 則刪除草稿檔, 保 留其他類型的檔案。

    檔案用CLOSE 敘述關閉後, 可以再用OPEN敘述打開, 可用同一單位號碼, 也可用不同的 號碼。 所有未關閉的檔案, 在程式終止執行時(由於發生錯誤而導致的不正常終止除外), 都自動關閉。

    INQUIRE 敘述

    INQUIRE 敘述 用以探查檔案或其單位號碼的性質, 其一般形式為