我正在尝试使用 FORTRAN INQUIRE 和相对较新的 SIZE 说明符,并得到一些奇怪的结果。
我的测试代码:
program howbig
integer :: fsize=0
logical ex
character*64 :: fname='fmtdata'
print *,fsize
open(unit=15,file=fname)
inquire(unit=15,size=fsize, exist=ex)
print *,fsize, ex
close(15)
inquire(file=fname, size=fsize, exist=ex)
print *,fsize, ex
end program
文件“fmtdata”存在并且大小为几个字节:
> ls -l fmtdata
-rw-rw-r-- 1 tklim tklim 6 Jan 28 2011 fmtdata
我与波特兰集团一起编译:
> pgf90 howbig.f9
以下是一些测试运行的结果:
> ./a.out
0
1 T
-827850024 T
> ./a.out
0
1 T
-1422197528 T
> ./a.out
0
1 T
876874792 T
> ./a.out
0
1 T
-107620360 T
所以,我显然没有得到文件大小,甚至每次都没有得到相同的输出。有什么想法吗?我应该说我的转速。pgf90 的版本符合 fortran 95,并提供了一些 2003 功能。我原以为如果这个 2003 功能不起作用,它就不会编译。谢谢。