0
我目前正在運行一個代碼,並且總是達到相同的目的。我試圖讀取輸入文件並返回錯誤:Fortran運行時錯誤:讀取輸入數據時文件結束
Fortran runtime error: End of file
在其他職位,他們說放在iostat的符所以現在我的代碼看起來是這樣的:
INTEGER :: m
INTEGER :: st
Open(Unit = 13,action='read',file='Data_Inp.dat',status='old')
read (13,*, iostat = st) m
write (*,*) st
write (*,*) m
ALLOCATE(winkel(m),energie(m))
Do i = 1,m
read(13,*),winkel(i),energie(i)
End Do
而輸入文件如下所示:
12
-17.83 -0.019386527878
-15.83 -0.020125057233
-12.83 -0.020653853148
-11.83 -0.020840036028
-9.83 -0.020974157405
-8.83 -0.021056401707
-6.83 -0.021065517811
-5.83 -0.020992571816
-4.83 -0.020867828448
-1.83 -0.02069158012
現在,終端輸出-1作爲iostat,併爲m打印一個不斷變化的數字。
還有哪些其他文章?通常,使用'iostat'不會奇蹟般地防止錯誤,它只是允許您處理它,而不是讓運行時終止。 – francescalus
好吧,我明白了。但你能想象,爲什麼我會得到EOF錯誤。我在輸入文件中找不到錯誤。錯誤必須在讀命令處。 – songwriter93
我不確定這是否只是您的示例文件不是真正的文件,但您的示例文件中只有10個數據條目,但您的代碼會嘗試讀取12行,這可能會使您結束文件錯誤。 –