2016-05-05 64 views
0

我創建使用編輯器的文本文件,並把一些信息,它Fortran語言查詢給未定義的未知

在撥打電話詢問如下我得到未定義的未知

Inquire (file=nm, exist=fe, form=fm, access=ac) 
Inquire (file=nm, sequential=seq, direct=drc) 
Inquire (file=nm, formatted=fmt, unformatted=uft) 

輸出

fm, ac: UNDEFINED UNDEFINED 
seq: UNKNOWN 
drc: UNKNOWN 
fmt: UNKNOWN 
uft: UNKNOWN 
+0

這些文件已經被連接了嗎? – francescalus

+0

你的意思是連接?我剛剛用emacs創建了一個文件。 – Zeus

+0

你打開他們了嗎? – francescalus

回答

1

認爲所謂的通過文件查詢告訴我們我們可以用文件做什麼,這很吸引人。事實上,在inquire語句中使用file=說明符可查詢不需要存在或不需要連接的文件(例如,通過open語句)。似乎你發現存在測試不會令人困擾。

但是,我們從這樣的調查中得到的信息是有限的。是的,這將是很好的,如果按文件像

inquire(file="some_file", direct=isdirect, formatted=isformatted, ...) 

告訴我們是否有可能建立直接訪問連接到具有無格式記錄的文件查詢,但我們在「依賴於處理器的境界」。

首先,問題中的簡單問題:form=access=說明符。您正在看到undefined,這正是當前文件未連接時預期的結果。您可以在Fortran 2008 9.2.10.3中看到access=

如果沒有連接,則會爲其分配值UNDEFINED。

9.2.10.12對於form=類似地。即使通過文件查詢,這兩個說明符告訴我們有關連接不是文件。也就是說,不是我們用這個文件做什麼,而是是我們用這個文件做的

其他人,其具有unknown由語句如

未知的,如果處理器是無法確定SEQUENTIAL是否是 包括在該組的用於文件

允許訪問方法覆蓋

(對於sequential=)。知道是否允許訪問模式比如

例如,處理器可能只允許順序訪問磁帶上的文件。因此, 允許的訪問方法取決於文件和處理器。