Неправильное действие команды Open в Fortran (команда Insted read open открывает .txt файл) - PullRequest
0 голосов
/ 06 марта 2019

Это мой простой код:

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

ОС: Win 10 X64

1 Ответ

4 голосов
/ 06 марта 2019

Вы используете status="unknown", это означает, что компилятор может создать файл для вас, чтобы вы могли читать из него.Если вы хотите открыть файл только тогда, когда он существует, используйте status="old".

Кстати, я нахожу совершенно бесполезным явно указывать любой ="unknown", просто полностью опустите аргумент.Но это мой личный стиль.

...