Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File io 为什么不是';大小说明符在我的FORTRAN inquire语句中不起作用吗?_File Io_Fortran_Fortran2003 - Fatal编程技术网

File io 为什么不是';大小说明符在我的FORTRAN inquire语句中不起作用吗?

File io 为什么不是';大小说明符在我的FORTRAN inquire语句中不起作用吗?,file-io,fortran,fortran2003,File Io,Fortran,Fortran2003,我正在尝试使用FORTRAN INQUIRE和相对较新的大小说明符,并得到一些奇怪的结果 我的测试代码: 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(

我正在尝试使用FORTRAN INQUIRE和相对较新的大小说明符,并得到一些奇怪的结果

我的测试代码:

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年的功能不起作用,它就不会编译了。谢谢。

在我看来像是一个编译器错误。是的。它与gfortran 4.7和ifort 12.1一起使用。在Fortran中操作文件时,您可能会对我关于libc文件系统功能的包装感兴趣,尤其是其中的功能。不过,您需要一个具有F2003特性的编译器,如C互操作性和可分配标量。谢谢大家的建议。我喜欢编译器bug。他们让我感觉不那么愚蠢@巴林特:谢谢你的密码!