我有一个" UNFORMATTED" fortran文件,我为此编写了一个小子程序,试图从中获取一些信息(如下所示)。我想做什么,或者想知道是否可以做,是"格式"将文件名为fort.24的文件转换为另一种格式化,可读,文件或可读打印到屏幕上。
我想过只需放入一个循环,在打开文件后读取文件的每一行,然后将其打印到屏幕上,但我不知道该怎么做。
我认为可以重新格式化未格式化的文件,或者这是不正确的#34;。
非常感谢
詹姆斯
SUBROUTINE mod2
implicit none
! Arguments
integer :: nset_pw_dipoles, mgvn, stot, gutot, iprnt, iwrite, &
& ifail,dip_comp_present(3)
character(len=11) :: form_pw_dipoles
character(len=80) :: title
integer, allocatable :: ichl(:), lvchl(:), mvchl(:)
real(kind=8), allocatable :: evchl(:), escat(:),re_pw_dipoles(:,:,:,:), im_pw_dipoles(:,:,:,:)
! Local
integer :: keydip, nchan, nbound, no_scat_energies, no_components, ierr
no_components=3
keydip=24
open (unit=24,file = "fort.24", form="UNFORMATTED", iostat=ierr, err=100)
! Read set header
! ----------------
read(24) keydip, nset_pw_dipoles
read(24) title
read(24) mgvn, stot, gutot, nchan, nbound, no_scat_energies, dip_comp_present
! Allocate space for channel info arrays
allocate( ichl(nchan), lvchl(nchan), mvchl(nchan), evchl(nchan), escat(no_scat_energies) )
read(24) ichl, lvchl, mvchl, evchl, escat
! Write Set Body
! --------------
! Allocate space for partial wave dipoles
allocate( re_pw_dipoles(nbound, nchan, no_components, no_scat_energies), &
& im_pw_dipoles(nbound, nchan, no_components, no_scat_energies) )
read(24) re_pw_dipoles
read(24) im_pw_dipoles
return
100 stop "ERROR: Reading partial wave dipoles"
END SUBROUTINE mod2