Читайте также:
|
|
Оператор OPEN() используют для того, чтобы связать номер устройства с файлом и специфицировать свойства того файла, которые отличаются с теми, которые задаются по умолчанию. Оператор можно использовать для создания и связывания с уже существующим файлом. В дополнение к стандартной форме описаны те компиляторы, которые могут обеспечить дополнительные не стандартные ключевые слова.
Общая практика программирования помещает все операторы OPEN в подпрограмме, которая вызывается на фазе инициализации главной программы. Оператор OPEN постоянно содержит имена файлов системной спецификации и нестандартные средства таким образом, что программу требуется запускать в более чем одной компьютерной системе, поэтому оператор OPEN должен быть легко локализуем.
Оператор OPEN() имеет общий вид такой:
OPEN(номер_устройства, [список])Где номер_устройства это спецификация номера объявляемого устройства (с или без ключевого слова) и список есть список ключевых слов (рассмотрен ниже). Например, следующие операторы OPEN() открывают файл, ассоциированный с номером устройства 10:
INTEGER:: ifile=10... OPEN(10) OPEN(UNIT=10) OPEN(UNIT=ifile)Следующие ключевые слова из специфицированных в стандарте языка Fortran 90 и могут специфицировать природу открываемого файла:
FILE=filename; где filename это правильная строка конкретной системы. Заметим, что.возможно, например, FILE='output.test'
STATUS=st; где st может быть одним из 'OLD', 'NEW', 'REPLACE', 'SCRATCH' или 'UNKNOWN'. Статус 'OLD' специфицирует файл, который уже должет существовать; при статусе 'NEW' создается новый файл; при статусе 'REPLACE' удаляется существующий файл прежде чем будет создан новый (с тем же именем); при статусе 'SCRATCH' создается временный файл, который существует только пока программа выполняется и исчезает по ее завершении. В общем случае используется 'OLD' для ввода и 'NEW' для вывода.
ERR=label; есть метка для оператора GOTO, когда обнаруживается ошибка при открытии файла. Если возможно, используют взамен IOSTAT.
IOSTAT=ios; где ios это целая переменная, устанавливается в нуль, если оператор выполняется успешно или в зависящую от реализации константу в противном случае
ACTION=act; где act может быть 'READ', 'WRITE' или 'READWRITE', специфицирующие разрешение режимов операций над файлом. По умолчанию зависит от процессора..
Некоторые примеры операторов открытия файла:
OPEN (UNIT=10,FILE='fibonacci.out') OPEN (UNIT=11,FILE='fibonacci.out',STATUS='NEW',IOSTAT=ios) IF(ios/=0) THEN WRITE(6,*) 'Error opening file: fibonacci.out.' STOP ENDIF OPEN (UNIT=12, FILE='student.records', STATUS='OLD', & FORM='FORMATTED', IOSTAT=ios)Если Вы несколько не доверяете значениям по умолчанию для некоторых полей оператора OPEN() специфицируйте требуемые значения. Комбинация условий возможных ошибок означает, что точный смысл будет дан спецификацией оператора OPEN() и ассоциирован с регулированием ошибки..
Возможна спецификация некоторых значений аргумента после значений по умолчанию для других потому что некоторые комбинации значений аргументов уникальны. Такие "свойства" не рассматриваются в данном курсе.
Дата добавления: 2015-11-14; просмотров: 50 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Ввод-вывод без продвижения | | | Статус распределяемых массивов |