Fortran WRITE语句语法错误的排查与解决
解决Fortran WRITE语句的语法错误问题
问题场景
尝试将实数类型数组写入文件,使用的Fortran代码如下:
open(unit=100, file = 'file.dat', status = 'replace') do j = 1, nss write(unit=100, *) m(j)!, xs(j), ys(j), zs(j) end do close(unit=100)
运行时触发语法错误:
Error: Syntax error in WRITE statement at (1)
起初认为代码语法合法,怀疑问题和其他读写语句相关。
解决方案
经@lastchance提示,将WRITE语句中的显式unit=100写法简化为直接指定单元号,即把:
write(unit=100, *) m(j)
替换为:
write(100, *) m(j)
修改后代码运行正常,问题解决。
内容的提问来源于stack exchange,提问作者nervousdog
相关产品推荐
相关产品推荐

