福特兰。新"Bad value during floating point read"



我想在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.0000000000)。我应该更改什么?

非常感谢你的回答!

新版本意味着: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

Maxim

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

相关内容

最新更新