В настоящее время я запускаю код, и я всегда получаю тот же конец. Я пытаюсь читать входной файл и он возвращает ошибку:Ошибка выполнения Fortran: Конец файла при чтении входных данных
Fortran runtime error: End of file
В другом посте они сказали, чтобы положить в IOSTAT спецификатора, так что теперь мой код выглядит следующим образом:
INTEGER :: m
INTEGER :: st
Open(Unit = 13,action='read',file='Data_Inp.dat',status='old')
read (13,*, iostat = st) m
write (*,*) st
write (*,*) m
ALLOCATE(winkel(m),energie(m))
Do i = 1,m
read(13,*),winkel(i),energie(i)
End Do
И входной файл выглядит так:
12
-17.83 -0.019386527878
-15.83 -0.020125057233
-12.83 -0.020653853148
-11.83 -0.020840036028
-9.83 -0.020974157405
-8.83 -0.021056401707
-6.83 -0.021065517811
-5.83 -0.020992571816
-4.83 -0.020867828448
-1.83 -0.02069158012
Теперь терминал печатает -1 для iostat и постоянно меняющегося числа для m.
Какой другой пост? В общем, использование 'iostat' не волшебным образом предотвращает ошибку, оно просто позволяет вам обрабатывать его, а не прерывать выполнение. – francescalus
Хорошо, я понял. Но можете ли вы представить, почему я получаю ошибку EOF. Я не могу найти ошибку в моем исходном файле. Ошибка должна быть в команде чтения. – songwriter93
Я не уверен, что это только ваш примерный файл, не являющийся реальным файлом, но у вас есть только 10 записей данных в файле примера, но ваш код попытается прочитать 12 строк, это то, что может дать вам конец ошибка файла. –