Я использую Fortran, чтобы сделать подпрограмму для использования в программном обеспечении мелкой воды CFD.Невозможно прочитать номер из текстового файла
Я написал этот код для чтения и использования сохраненных значений.
PROGRAM hieto
! Calcula la precipitacion efectiva en funcion del tiempo
!IMPLICIT NONE
real::a
!Abrir CSV
!OPEN(UNIT=10,FILE="datos.txt",FORM="formatted",STATUS="replace",ACTION="readwrite",ACCESS='sequential')
open(unit=10, file='datos.txt')
!Leer el archivo
read(10, *, iostat=ios)a
print*,ios
print*, a
close (UNIT=10)
END PROGRAM hieto
Мой текстовый файл datos
, выглядит следующим образом
1
2
3
Когда я запускаю код, как есть, я получаю следующие выходные данные
-1
0.0000000000
Process return 0 (0x0) execution time: 0.002 s
первое число в строке один İŞ один не равен нулю, поэтому я не знаю, почему это происходит.
И если я удалить iostat=ios
из заявления для чтения, я получаю следующее сообщение об ошибке:
At ine 13 (the line od the read stament) of file /home/Dropbox/scripts_tesis/fortran/hieto_telemac.f90 (unit=10, file=datos.txt')
Fortran runtime error: end of file.
Proceess returned 2 (0x2)
Я прочитал некоторые ответы здесь, так что я попытался добавить end=3
в заявлении для чтения, а также закончить мой текст файл с пустой строкой в конце. end=3
дает ошибку, говоря, что 3 не является определенной меткой, а пустая строка в текстовом файле ничего не делает.
Я использую компилятор ubuntu 16.04 LTS и Gfortran.
спасибо за ответ, но я прочитал об этом и использую Как читать до конца файла (EOF)? часть этого Wiki Fortran (http://fortranwiki.org/fortran/show/FAQ). я изменил код, чтобы он запустился, но я уже пытался это сделать. –