私は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
を取得した行1の最初の数です。 1つはゼロではないので、なぜこのようなことが起こるのか分かりません。
そして、私はREAD文から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のLTSに16.04とのgfortranコンパイラを使用しています。
答えてくれてありがとうしかし、私はこの上に読んでなかった、と私は、ファイルの終わり(EOF)まで読みするにはどうすればよいでしょうか?このWiki Fortranの一部(http://fortranwiki.org/fortran/show/FAQ)。私はそれを実行させるためにコードを変更しましたが、以前これを試みました。 –