Fortran 中 Open 命令的错误操作(Insted read open 命令打开 .txt 文件)

Wrong action of Open command in Fortran( Insted read open command opens .txt file )

这是我的简单代码:

Program Example_Code

Implicit none

Integer :: iERR

  Open( Unit = 15, File = 'Read_Something.txt', Action = 'Read', Status = 'Unknown', iostat = iERR )

    If ( iERR /= 0 ) stop ( "There is no file Read_Something.txt !!!")


  Close( 15, Status = 'Keep')

End Program Example_Code

在项目目录中,我没有创建任何 .txt 文件(因为我想用 iostat 测试打开文件),程序结束后,我在项目文件夹中找到 Read_Something.txt

这个例子有什么问题? 为什么会出现这个明显的错误?

IDE: Code::Blocks 17.12, TDM_GCC_5.0.1 - 03

OS: Win 10 X64

您使用status="unknown",这意味着编译器可以为您创建文件,以便您可以从中读取。如果只想在文件存在时打开它,请使用 status="old".

顺便说一句,我发现显式指定任何 ="unknown" 都毫无用处,只需完全忽略参数即可。但这是我的个人风格。