Как читать и объединять файлы в фортране - PullRequest
0 голосов
/ 06 сентября 2018

Я получил 5 файлов, сгенерированных кодом Фортрана, подобным этому

longP=8
OPEN(unit=20,FILE="GMt_2.dat",ACTION="write",ACCESS='Direct',RECL=longP)
count1=1
do J=K,fact
READ(10,*)XA,XB,YA,YB,ZA,ZB,rho
call Grv('f',Nx,Ny,dimg,Dx,Dy,XO,YO,XA,XB,YA,YB,ZA,ZB,rho,G,elev,Svec)
do I=1,dimg
WRITE(UNIT=20,rec=count1)Svec(I)
count1=count1+1
end do
WRITE(*,*)J
end do
dim(2)=J-1
fact=fact+fact1
call flush(20)
CLOSE(20)

, который вернулся с нечитаемым форматом файла, мой профессор сказал «его двоичный машинный код». Моя цель здесь - объединить информацию в этих 5 файлах в одном массиве для выполнения некоторой обработки. как мне этого добиться?

1 Ответ

0 голосов
/ 06 сентября 2018

Код, который вы показываете, записывает данные с использованием неформатированного ввода-вывода и прямого доступа. Вам также нужно будет прочитать его с использованием неформатированного ввода-вывода. Вы можете использовать прямой доступ или, и это было бы моей рекомендацией, потоковый доступ (ACCESS = 'STREAM' в операторе OPEN.) Открывайте каждый файл последовательно, читайте данные и затем записывайте их, используя тот же механизм, для вашего отдельного файла. Ваш вопрос достаточно неоднозначен, чтобы не дать более подробного ответа.

...