Ganzzahl vom Dateiende lesen mit `` Fehlendes Format für FORMATIERTE Datenübertragung erfolgt``
Ich aktualisiere ein Fortran-Programm für meine Bedürfnisse. Das Programm kompiliert mitf95
undgcc
Version 4.1.2 (Ich weiß, dass es alt ist, aber ich kann es nicht aktualisieren). Ich möchte Parameter aus einer Datei lesen und versuche dies über
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
Die Eingabedatei sieht aus wie
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
Wenn ich versuche, dies auszuführen, erhalte ich eine Fehlermeldung
Fortran runtime error: Missing format for FORMATTED data transfer
done
Welches deutet auf die ersteread
Linie. DasstartConf variable, as well as
i`` ist eine ganze Zahl. Die restlichen Variablen haben doppelte Genauigkeit.
Ich habe diese Methode verwendet, um Daten problemlos in Ganzzahlen zu lesen (auch im selben Code). Wo liegt mein aktueller Fehler?