Чтение целого числа из конца файла с `` Пропущен формат для форматированной передачи данных сделано``
Я обновляю программу Fortran для своих нужд. Программа компилируется с использованиемf95
а такжеgcc
версия 4.1.2 (я знаю, что она старая, но я не могу ее обновить). Я хочу прочитать параметры из файла, и я пытаюсь это через
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
линия.startConf variable, as well as
я `` является целым числом. Остальные переменные имеют двойную точность.
Я использовал этот метод для чтения данных в целые числа ранее (даже в том же коде) без проблем, где моя текущая ошибка?