0

我有一些旧的 fortran 77 我正在尝试在 Windows 上移植到 gcc。

我正在使用 gfortran 4.4。

该语句使用 READ(FOO, '(F)' , ERR=BAR) BAZ 并且 gcc 抱怨 F。从我所看到的情况来看,F 需要与之关联的大小。还有一些使用类似结构的 FORMAT 语句。

移植这个的正确方法是什么?似乎在 sun studio 编译器上单独使用 F 正好适合适当的大小。但是 gfortran 抱怨它不是一个非负或正的宽度。

任何想法如何移植这个?

4

1 回答 1

1

这是一个格式化的读取。它应该是 READ(FOO, '(FN.M)' , ERR=BAR) BAZ、N 和 M 特定数字,其中 N 是字符的字段宽度,M 是小数点后的位数。如果数据有小数点,输入 M 无关紧要,因为小数点将覆盖格式规范。如果您不确定输入数据是否始终符合这个严格的规范,最好切换到无格式输入:READ(FOO, * , ERR=BAR) BAZ。这也称为列表导向 i/o。这是非常灵活和猜测的,可能更好地匹配扩展“F”正在做的事情。(无格式/列表导向与无格式不同,无格式适用于没有任何位转换的二进制文件。)

于 2010-02-24T02:52:34.517 回答