Fortran 95:开放语句,状态变量:未知与替换

gil*_*ofb 3 file-io fortran fortran95

我想知道这句话之间有什么不同:

open(unit=11,file="something.TXT",status="unknown"),这是Fortran的默认值status(即,前一个语句是相同的open(unit=11,file="something.TXT")

这句话:

open(unit=11,file="something.TXT",status="replace")

我的印象是unknown状态的行为完全符合我的预期replace:如果文件不存在,则会创建它.如果确实存在,则替换它.

Hig*_*ark 6

Fortran标准规定了解释status='unknown'依赖于处理器.也就是说,您的印象微妙不正确.

在1995年标准的草案中,我已经在第9.3.4.2节中对此进行了解释.

在我手头的2003年标准草案中,这将在第9.4.5.15节中解释.

  • 你做对了.依赖于处理器意味着您的编译器/运行时可以为您做出选择,如果您想确定`open`语句的行为,您必须为`status =`指定其他选项之一. (2认同)