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"
都毫无用处,只需完全忽略参数即可。但这是我的个人风格。
这是我的简单代码:
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"
都毫无用处,只需完全忽略参数即可。但这是我的个人风格。