Fortran语言。新gcc - “浮点读取时的值不好”

时间:2011-06-02 21:43:39

标签: gcc fortran

我想在Fortran 77中使用一个非常旧的程序。但是新版本的gcc给了我错误“Fortran运行时错误:浮点读取时的错误值”。 我需要读取字符串到数组。过去是:

read(direc(2:ieq2-1),103) acent
103 format(3f12.7) 

其中(direc(2:ieq2-1)='(0.,0.,0。)'和ieq2-1 = 8且acent =(0.0000000 0.0000000 0.0000000)。 我应该改变什么?

非常感谢您的回答!

新版本意味着:gcc版本4.5.2(Ubuntu / Linaro 4.5.2-8ubuntu4); 声明:

acent(1)=0.0
acent(2)=0.0
acent(3)=0.0
character*100 direc

马克西姆

1 个答案:

答案 0 :(得分:3)

如果direc(2:ieq2-1)是一个字符串,这将是有意义的,在这种情况下,读取将是“内部IO”,但字符串的内容应该是数字。没有任何括号。由于您使用的字段宽度为12的格式,因此应将这些值间隔开以适合这些字段。使用列表定向(无格式)读取可能更容易:read(direc(2:ieq2-1),*)acent。如何宣布直接和上升?