不是超级mac用户且从未使用过fortran,所以请耐心等待。我正在尝试使用gfortran编译文件,并从以下行收到错误:
open(unit=4,file=*,status='old',READONLY,iostat=iopen,
& err=9999)
如果我删除了READONLY部分,则错误仍然存在:
错误:(1)
中OPEN语句中的语法错误我有什么想法可以让它发挥作用吗?
答案 0 :(得分:0)
在编译器看到语法错误的行中的位置下方应该有一个TIME Type
1:58.33 auto
2:02.87 auto
2:06.18 auto
2:13.70 auto
2:28.17 time
2:30.85 time
2:31.25 time
2:40.25 auto
2:40.36 time
2:59.35 auto
3:05.33 time
3:09.32 time
3:38.67 alternate
3:56.61 alternate
...
标记。如果1
低于逗号,则错误出现在下一个语句中(例如,如果它位于1
之后的逗号之下,则错误位于unit=4
)。< / p>
以下是一些事项:
file=*
我从不使用单个数字的单位数字,因为这些可能会被保留用于标准输入/输出或错误输出等内容。 unit=4
那个很奇怪。我认为您不能在标准Fortran中使用通配符,请尝试将其指向特定文件。file=*
这绝对没有任何意义。我假设你需要的是READONLY
,但是一旦你开始用action='read'
传递参数,你就不能回过头来传递一些值,并希望编译器找出实际上意味着哪个虚拟变量。表示。something=someval
这是隐含的err=9999
:如果有错误,请转到此标签。强烈建议不要使用它。由于您仍在使用GOTO
,我建议您检查该返回值。根据输入文件的内容或程序在打开文件时出现错误的实际行为,您可以自行决定如何使此代码符合Fortran标准。