File io Fortran 95:打开语句,状态变量:未知vs.替换
我想知道这句话有什么不同:File io Fortran 95:打开语句,状态变量:未知vs.替换,file-io,fortran,fortran95,File Io,Fortran,Fortran95,我想知道这句话有什么不同: open(unit=11,file=“something.TXT”,status=“unknown”),这是Fortran默认的状态(即,前面的语句与open相同(unit=11,file=“something.TXT”) 本声明: open(unit=11,file=“something.TXT”,status=“replace”) 我的印象是,unknown状态的行为与我对replace的预期完全相同:如果文件不存在,它将创建它。如果文件存在,它将替换它。Fort
open(unit=11,file=“something.TXT”,status=“unknown”)
,这是Fortran默认的状态(即,前面的语句与open相同(unit=11,file=“something.TXT”
)
本声明:
open(unit=11,file=“something.TXT”,status=“replace”)
我的印象是,unknown
状态的行为与我对replace
的预期完全相同:如果文件不存在,它将创建它。如果文件存在,它将替换它。Fortran标准规定,status='unknown'
的解释取决于处理器。也就是说,您的印象是非常不正确
在我手边的1995年标准草案中,第9.3.4.2节对此进行了解释
在我手头的2003年标准草案中,第9.4.5.15节对此进行了解释。处理器依赖性到底意味着什么?但不管怎样,这意味着为了最大限度地提高可移植性,在打开文件时,我必须始终为状态
指定一个值。这是正确的。处理器依赖性意味着您的编译器/运行时可以为您做出选择,如果您想确定open
语句的行为,您必须为status=
指定其他选项之一。