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
은 행의 첫 번째 숫자는 하나가 다음과 같은 출력을 얻을 하나는 0이 아니므로, 왜 이런 일이 발생하는지 알 수 없습니다. 내가 읽기 문에서 iostat=ios
를 제거하면
는, 나는 다음과 같은 오류 얻을 : 내가 읽기 문에 end=3
을 추가하는 시도 그래서 내가 여기에 몇 가지 답변을 읽고
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
은 3이 정의 된 레이블이 아니며 텍스트 파일에 빈 행을 넣는 것은 아무런 효과가 없다는 오류를 제공합니다.
우분투 16.04 LTS와 Gfortran 컴파일러를 사용하고 있습니다.
답장을 보내 주셔서 감사합니다. 그러나이 글을 읽었을 때 파일 끝 (EOF)까지 어떻게 읽습니까? 이 위키 포트란의 일부 (http://fortranwiki.org/fortran/show/FAQ). 코드를 실행하도록 변경했지만 이전에이 코드를 시도했습니다. –