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行,这可能会使您结束文件错误。 –