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=
指定其他选项之一。