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