我是Fortran新手。我希望能夠讀取文本文件並將其內容保存在各個變量中。我發現了一個非常有用的Fortran教程(http://www.math.hawaii.edu/~hile/fortran/fort7.htm#read),我試圖按照其中列出的一個示例。具體地說,我做了稱爲文本文件data.txt中用以下文字:在Fortran中逐行讀取以逗號分隔的文本文件
1.23, 4.56, 7.89
11, 13, "Sally"
我已經保存在我的當前目錄下這個文本文件。然後,我創建了一個文件test.f90(也節省了它在我的當前目錄)包含以下代碼:
PROGRAM test
IMPLICIT NONE
REAL :: x, y, z
INTEGER :: m, n
CHARACTER first*20
OPEN(UNIT = 7, FILE = "data.txt")
READ(7,*) x, y, z
READ(7,*) m, n, first
PRINT *, x
PRINT *, y
PRINT *, z
PRINT *, m
PRINT *, n
PRINT *, first
END PROGRAM test
我使用的GNU Fortran編譯,我覺得至少包括了功能包括Fortran95。上面的代碼似乎編譯好,至少使用默認設置)。但是當我運行生成的可執行文件,我得到這個錯誤消息:
At line 10 of file test.f90 (unit = 7, file = 'data.txt')
Fortran runtime error: End of file
線10的線READ(7 *)M,N,第一。你能幫我看看我在上面的代碼中做錯了什麼嗎?
嘗試使用其他單元號(> 10)。也許你的編譯器使用單元7作爲預連接的設備。 – eriktous
@eriktous:非常感謝你的時間,但不幸的是這並沒有解決問題(至少在我使用15單位時)。不過,謝謝你的建議。知道編譯器可以使用10或更少的單位來預連接的設備真的很好。我會牢記這一點。謝謝! – Andrew