我有這個錯誤彈出,我不知道這是怎麼回事。我試圖在以下數據如下:創建格式化數組Fortran ...文件結尾錯誤
1 0000 1234
2 0032 8383
3 1201 3983
4 1234 9292
5 4567 9202
6 7890 8382
7 2324 9383
跳過前4行,並且在單獨的陣列的第二列讀取整數(因此有一個陣列產生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新手,所以我不太清楚爲什麼會出現這種情況。
您可能會錯過數組讀數之間的「rewind」。也就是說,如果我寫這個,我會在文件的一次傳遞中完成,而不是使用'T'編輯。 – francescalus
聲明一個虛擬整數(例如'd')並讀取指向爲'read(12,*)d,arr(i),arr2(i)' – agentp