Кто-нибудь знает, как читать и записывать два неформатированных двоичных файла (каждый из которых имеет 4-мерную переменную) в один .bin-файл с одинаковыми размерами?
Я пытаюсь это сделать, но безуспешно ( Я новичок в Фортране):
program teste
implicit none
real, dimension(144,73,12,4) :: air,hgt
integer :: l,k,reclen
real :: irec
inquire(iolength=reclen)air
open(1,file='air.bin',status='old',form='unformatted',access='direct',action='read',recl=reclen)
open(2,file='hgt.bin',status='old',form='unformatted',access='direct',action='read',recl=reclen)
open(3,file='air_hgt.bin',form='unformatted',access='direct',action='write',recl=reclen)
read(1,rec=1)air
read(2,rec=1)hgt
close(1)
close(2)
irec=0
do l=1,4
do k=1,12
irec=irec+1
write(3,rec=irec)air(:,:,k,l)
end do
do k=1,12
irec=irec+1
write(3,rec=irec)hgt(:,:,k,l)
end do
end do
close(3)
end program teste
Когда я запускаю код, компилятор никогда не останавливается, даже если файлы .bin очень малы (по 2 МБ каждый). Итак, через несколько минут я заставляю его перестать работать, и созданный файл очень большой (сотни гигабайт). Кажется, не имеет особого смысла.