我正在尝试从测试文件中读取某些值,但gfortran一直给我一个文件错误结束,我不知道为什么。这是Fortran代码:
program mesh
implicit real*8(a-h,o-z)
namelist /input/ x
open(5,file='input.in')
read(5,input)
print*, x
end program mesh
这是我的输入文件:
&input
x=5/
我尝试了多个输入文件,使用&end
代替/
,并将所有内容放在同一行(带空格)。
答案 0 :(得分:0)
将“/”移动到新行后,它应该有效。 EOL字符对gfortran版本4.6.3没有任何影响
&input
x=5
/
答案 1 :(得分:0)
虽然您已经得到了正确答案,但确定格式的最简单方法是将程序编写到创建名称列表文件,然后查看它以获得正确的语法。
您的程序已修改为[我已添加第二个名单]:
program mesh
implicit real*8(a-h,o-z)
namelist /input/ x,y
namelist /input2/ a,c
x = 4
y = 7
a = 37
b = 23
open(5,file='input.in')
write(5,input)
write(5,input2)
end program mesh
生成的文件是:
&INPUT
X= 4.0000000000000000 ,
Y= 7.0000000000000000 ,
/
&INPUT2
A= 37.000000000000000 ,
C= 0.0000000000000000 ,
/