Ich habe ein Programm geschrieben, das einen Integer-Wert aus einer Datei mit der OPEN-Anweisung liest und den Wert auf der Konsole ausgibt.Ich habe einen Segmentierungsfehler gefunden Fortran beim Lesen von Datendateien von einer externen Quelle
Während des Kompilierens scheint es in Ordnung und hat keine Probleme, aber wenn ich das Programm ausführen, habe ich einen Segmentierungsfehler festgestellt.
Ich habe den Code überprüft und bis jetzt habe ich keine Regeln verletzt. Kann mir jemand eine Idee zu diesem Problem geben?
Fehler:
Code:
program project5_03
implicit none
integer :: n = 0
open (unit = 21, file = 'trial.txt', status = 'old')
read (21,*) n
print '(1x,a,i4)', "this is the value of n", n
stop
end program
Der Inhalt der txt-Datei ist nur die Zahl "1234" auf der ersten Zeile.
Es ist sehr wichtig zu zeigen, wie Sie den Code kompilieren. Das Backtrace ist sehr verdächtig, es wäre sinnvoller mit '-g -fbacktrace' oder ähnlichem. –
haben Sie erfolgreich noch einfachere Codes kompiliert und ausgeführt? – agentp
Verwenden Sie bitte den 'newunit'-Spezifizierer in Ihrer 'open'-Anweisung. Hardcoding-Dateiidentifikationseinheiten sind unglaublich fehleranfällig. – jlokimlin