我正在根据需要更新 Fortran 程序。该程序使用版本 4.1.2 编译f95
(gcc
我知道它很旧,但我无法更新它)。我想从文件中读取参数,我尝试通过
inquire (file="resLast", exist=resExist)
if (readStart.eq.1.and.resExist) then
open (unit=18,file='resLast', status='old', action='read')
read (18) startConf
read (18) avlength, stdlength, avenergy
read (18) i,h2(1)
read (18) i,h2(2)
read (18) i,h2(4)
read (18) i,h2(5)
read (18) i,h2(8)
read (18) i,h2(9)
read (18) i,h2(13)
read (18) i,h2(16)
read (18) i,h2(17)
read (18) i,h2(18)
read (18) i,h2(20)
read (18) i,h2(25)
read (18) i,h2(32)
close (18)
else
startConf = 0
do i=1,32
h2(i)=0
comh2(i)=0
enddo
avlength=0d0
stdlength=0d0
avenergy=0d0
endif
输入文件看起来像
0
196.090732114834 38451.5752213317 53.4452884569457
1 9.188750409521163E-004
2 4.548226133920252E-004
4 8.704101492185146E-005
5 2.175445697503164E-004
8 4.992044341634028E-005
9 2.108949411194772E-005
13 4.304789035813883E-005
16 4.693072696682066E-005
17 8.976260141935199E-005
18 2.737747854553163E-005
20 5.637826689053327E-005
25 3.860405195155181E-005
32 3.193027441739105E-005
当我尝试运行它时,我得到一个错误
Fortran runtime error: Missing format for FORMATTED data transfer
done
指向第一read
行。i``startConf variable, as well as
是一个整数。其余变量是双精度的。
我以前使用这种方法将数据读入整数(即使在相同的代码中)也没有问题,我当前的错误在哪里?