このエラーがポップアップしていますが、これが起こっているかどうかはわかりません。私は、次のデータを読み込むしようとしている:フォーマット済みアレイの作成Fortran ...ファイルエラーの終了
1 0000 1234
2 0032 8383
3 1201 3983
4 1234 9292
5 4567 9202
6 7890 8382
7 2324 9383
は、最初の4行をスキップし、そして別のアレイ内の2番目の列に整数を読み込む(そうつのアレイは、4567、7890、2324、およびその他を製造しています9202、8382、および9383を生成する)。以下は、私が持っているコードです:
Program test
Implicit None
integer :: i
integer, parameter :: &
m=7, & !total number of line
n=4, & !line to skip
p=3 !lines to read
integer,dimension(m)::arr, arr2 !file to read
open(12,file='something.txt',status='old')
10 format (T5, I4)
do i=1,n
read(12,10)arr(i)
end do
do i=1,p
read(12,10)arr(i)
write(*,*)arr(i)
end do
20 format (T11, I4)
do i=1,n
read(12,20)arr2(i)
end do
do i=1,p
read(12,20)arr2(i)
write(*,*)arr2(i)
end do
End Program test
最初の配列が正しく読み込まれますが、それは二番目に到達したとき、ファイルエラーの終わりには、22が起動する行で発生します。私はFortranを初めて使っているので、なぜこれが起こっているのかよく分かりません。
おそらく、配列の読み値の間に '巻き戻し 'がありません。つまり、もし私がこれを書いていたら、ファイルの一回のパスでそれを行い、 'T'編集を使わないでしょう。 – francescalus
ダミー整数を宣言して( 'd')、' read(12、*)d、arr(i)、arr2(i) 'のような各行リストを読み込みます。 – agentp