Fortran 90中查找输入文件大小(Find input file size in Fortra

2019-11-03 05:00发布

我试图创建一个基于文件总大小与文件大小到目前为止阅读进度指示器。 我有一个二进制文件的工作。

open(unit=unitvector, file=vectorname, status='old',form='unformatted')
do while (ios.eq.0)
    read(unitvector,end=888,err=888, iostat=ios) KX, KY, KZ, KNAME, NV, NE, WEIGHT
    nkcount=nkcount+1
    call progress(FILE SIZE, PROGRESS SIZE)
    allocate( Vector(3,NV) )
    read(unitvector) (Vector(1,I),Vector(2,I),Vector(3,I),I=1,NV)
.
.
.
 end do

要编译使用:

ifort -warn all -traceback -free util.F fold2Bloch.f90 -o fold2Bloch

因此,循环的每次迭代我会调用子程序progress和发送的总文件大小,到目前为止,阅读的大小。 你怎么能找出迄今读取的总规模和大小? 还是有更好的方式来处理这个进度指示器的想法?

Answer 1:

要找到大小(以字节为单位)的文件中使用以下命令:

inquire(unitvector, size=tot_len)

不过,我仍然不知道如何弄清楚什么字指针是在读()指令后。 请帮忙。



文章来源: Find input file size in Fortran 90