在转换一些FORTRAN代码以与GNU Fortran编译器兼容时,我需要摆脱一些变量格式化尖括号(<>)并用等效的GNU接受格式替换它们。
问题是,我还想在使用FORMAT语句时这样做。这样做的原因是格式语句非常复杂,带有字符串的多行语句等等,所以要确定具有多个变量格式化实例的非常大的代码所需的字符串缓冲区的大小是不可取的。
也就是说,我可以替换
(5)
与
write(10,100)blah,blah...,blah
100 format(... <ii>i10, 'this and that ',
.../
...)
其中 vfmt=''
write(vfmt,'(a,...,a)')'(',...,ii,'i10','this and that ',...,')'
write(10,vfmt)blah,blah...,blah
是一个非常长的字符串缓冲区,但我宁愿这只是作为最后的手段。
是否可以使FORMAT语句部分变量?像
这样的东西vfmt
我从尝试这一点就知道这种具体方法不起作用。
感谢。