Leyendo el entero desde el final del archivo con `` Falta el formato para la transferencia de datos FORMATADA hecha``
Estoy actualizando un programa de Fortran para mis necesidades. El programa compila usandof95
ygcc
versión 4.1.2 (sé que es antigua, pero no puedo actualizarla). Quiero leer los parámetros de un archivo y lo intento a través de
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
El archivo de entrada parece
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
Cuando intento ejecutar esto me sale un error.
Fortran runtime error: Missing format for FORMATTED data transfer
done
Lo que apunta a lo primero.read
línea. losstartConf variable, as well as
i`` es un número entero. El resto de las variables son de doble precisión.
He usado este método para leer datos en enteros previamente (incluso en el mismo código) sin problema, ¿dónde está mi falla actual?