4.5. Оператор READ (ЧИТАТЬ)
4.5.1. Назначение
При последовательном доступе оператор READ (ЧИТАТЬ) делает доступной следующую логическую запись файла. При произвольном доступе оператор READ (ЧИТАТЬ) делает доступной указанную запись файла на устройстве массовой памяти.
4.5.2. Общий формат
Формат 1
Формат 2
4.5.3. Синтаксические правила
(1) Область памяти, связанная с идентификатором-1, и область записи, связанная с именем-файла-1, не должны быть одной и той же областью памяти.
(2) Имя-данного-1 должно быть именем данного, определенного в качестве ключа записи, связанной с именем-файла-1. (3) Имя-данного-1 может уточняться. |
(4) Формат 1 должен использоваться для всех файлов с последовательным доступом. |
(5) Фраза NEXT (СЛЕДУЮЩУЮ) должна быть указана для файлов с динамическим доступом, если записи файла должны извлекаться последовательно. |
(6) Формат 2 используется для файлов с произвольным доступом , если записи должны извлекаться произвольно.
(7) Фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) или фраза AT END (В КОНЦЕ) должна быть указана, если для имени-файла-1 не указана никакая применимая процедура USE AFTER STANDARD EXCEPTION (ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБКИ).
4.5.4. Общие правила
(1) Во время выполнения оператора READ (ЧИТАТЬ) файл, на который ссылается имя-файла-1, должен быть открыт как входной или входной-выходной (см. п.4.4 настоящей части).
(2) Для файлов последовательного доступа фраза NEXT (СЛЕДУЮЩУЮ) является необязательной и не влияет на выполнение оператора READ (ЧИТАТЬ). |
(3) При выполнении оператора READ (ЧИТАТЬ) обновляется значение состояния ввода-вывода, связанного с именем-файла-1 (см. п.1.3.4 настоящей части).
(4) Установка указателя позиции файла в начале выполнения оператора READ (ЧИТАТЬ) формата 1 используется для определения записи, которая может быть доступной согласно следующим правилам.
В индексных файлах сравнения записей производится по значениям текущего ключа ссылки. Для индексных файлов сравнения производятся в соответствии с основной последовательностью для файла.
а) Если указатель позиции файла указывает, что не установлена следующая запись, выполнение оператора READ (ЧИТАТЬ) является неуспешным.
б) Если указатель позиции файла указывает, что необязательного входного файла нет, оператор выполняется согласно общему правилу (10). |