Fortran:双精度变量如何从输入文件中读取和保存字符串内容

时间:2013-09-02 04:19:20

标签: fortran90 fortran77

我正在将用Fortran 77编写的相当大的旧修复格式代码转换为自由格式。在代码中我经常遇到像

这样的读语句
DOUBLE PRECISION :: VARIABLE

read(1,10) VARIABLE

10 format(2A10)

但是,它从输入文件中读取的内容实际上是一行字符串。代码运行得非常好,但是当一个人尝试从名单而不是固定格式的输入文件中读取VARIABLE时它会崩溃。

Fortran有什么可能吗?有什么参考,我可以找到更多的信息? 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

这来自F77之前的几天,当时双打和整数用于存储字符。从格式声明中,这可能来自CDC,它可以在每个单词中存储10个六位字符。双精度是两个单词,所以它是两个10个字符。如果您将代码更改为

CHARACTER(LEN=20) VARIABLE
READ(1,10) VARIABLE
10 FORMAT(A20)

它应该工作。有关CDC编译器的信息很多。我从来没有尝试过使用名单,所以我无法对其进行评论。试试http://bitsavers.trailing-edge.com/pdf/cdc/cyber/cyber_70/chippewa/Chippewa_Fortran-Run_Apr66.pdf