0

这是我的简单代码:

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:代码::块 17.12,TDM_GCC_5.0.1 - 03

操作系统:Win 10 X64

4

1 回答 1

3

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

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

于 2019-03-06T15:36:10.177 回答