4.2.1. Назначение
Оператор CLOSE (ЗАКРЫТЬ) завершает обработку файла, .
4.2.2. Общий формат
4.2.3. Синтаксическое правило
Файлы, перечисленные в операторе CLOSE (ЗАКРЫТЬ), могут иметь различную организацию и доступ.
4.2.4. Общие правила
(1) Оператор CLOSE (ЗАКРЫТЬ) может быть использован только для файла, который был открыт.
(2) Относительные файлы классифицируются как принадлежащие к категории непоследовательных однотомных или многотомных файлов. Результаты выполнения оператора CLOSE (ЗАКРЫТЬ) для этой категории файлов приведены ниже.
Формат оператора CLOSE (ЗАКРЫТЬ) | Действия операторов CLOSE (ЗАКРЫТЬ) для непоследовательного однотомного (многотомного) файла |
CLOSE (ЗАКРЫТЬ) | А |
CLOSE WITH LOCK (ЗАКРЫТЬ С ЗАМКОМ) | А, Б |
Определения символов А и Б приведены ниже.
Там, где эти определения зависят от того, является ли файл входным, выходным или входным-выходным, приводятся дополнительные пояснения; в противном случае эти определения относятся к входным, выходным и входным-выходным файлам.
А - закрыть файл.
Входные и входные-выходные файлы (доступ последовательный). Если файл установлен в конце и указаны записи меток для этого файла, метки обрабатываются в соответствии со стандартной процедурой обработки меток, определенной реализацией. Действия оператора CLOSE (ЗАКРЫТЬ) не определены, когда записи меток специфицированы, но в файле отсутствуют, или когда записи меток не специфицированы, но присутствуют. Выполняются операции закрытия, определенные реализацией. Если файл установлен в конце и записи меток для него не специфицированы, метки не обрабатываются, но другие операции закрытия, определенные реализацией, выполняются. Если файл установлен не в конце, операции закрытия, определенные реализацией, выполняются, но конечные метки не обрабатываются.
Б - закрыть с замком. Файл закрыт и не может быть опять открыт во время выполнения этой единицы исполнения. |
(3) Выполнение оператора CLOSE (ЗАКРЫТЬ) приводит к изменению значения состояния ввода-вывода, относящегося к имени-файла-1 (см. п.1.3.4 настоящей части). |
(4) Если не присутствует необязательный входной файл, для файла не производится обработка конца файла, и указатель позиции файла не меняется. |
(5) После успешного завершения оператора CLOSE (ЗАКРЫТЬ) область записи, связанная с именем-файла, становится недоступной. В случае неуспешного выполнения оператора CLOSE (ЗАКРЫТЬ) доступность области записи является неопределенной.
(6) После успешного завершения оператора CLOSE (ЗАКРЫТЬ) файл перестает быть открытым, он больше не связан ни с каким определителем файла.
(7) Если в операторе CLOSE (ЗАКРЫТЬ) указаны несколько имен-файлов, результат выполнения этого оператора CLOSE (ЗАКРЫТЬ) такой же, как если бы отдельный оператор CLOSE (ЗАКРЫТЬ) был написан для каждого имени файла в том порядке, как они указаны в этом операторе CLOSE (ЗАКРЫТЬ).