나는이 오류 팝업이 나타나고 이것이 일어나고 있는지 확신하지 못합니다. 나는 다음과 같은 데이터를 읽으려고 해요 :서식있는 배열 만들기 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을 처음 접했기 때문에 왜 이런 일이 일어나는지 잘 모르겠습니다.
아마도 어레이 판독 값 사이에 '되감기'가 누락되었을 수 있습니다. 즉, 만약 내가 이것을 쓰고 있었다면 나는 파일의 한 패스로 그것을 할 것이고'T' 편집을 사용하지 않을 것이라고 말했다. – francescalus
은 더미 정수 ('d')를 선언하고 각 행 목록을'read (12, *) d, arr (i), arr2 (i)'로 지시합니다. – agentp