Справочник Ada 95
A.8.5 Операции прямого ввода-вывода
Статическая семантика
В этом подпункте описываются доступные операции прямого ввода-вывода. Исключение Status_Error распространяется, если любая из этих операций используется для файла, который не открыт.
procedure Read(File : in File_Type; Item : out Element_Type;
From : in Positive_Count);
procedure Read(File : in File_Type; Item : out Element_Type);
From : in Positive_Count);
procedure Read(File : in File_Type; Item : out Element_Type);
Осуществляет операции над файлом в режиме In_File или Inout_File. В случае первого варианта, устанавливает текущий индекс данного файла в значение индекса, заданное параметром From. Затем (для обоих вариантов) возвращает в параметре Item значение элемента, позиция которого в данном файле задается текущим индексом файла; наконец, увеличивает текущий индекс на единицу.
Исключение Mode_Error распространяется, если режим данного файла — Out_File. Исключение End_Error распространяется, если индекс, который будет использован, превышает размер внешнего файла. Исключение Data_Error может быть распространено, если прочитанный элемент нельзя интерпретировать как значение подтипа Element_Type (см. A.13).
procedure Write(File : in File_Type; Item : in Element_Type;
To : in Positive_Count);
procedure Write(File : in File_Type; Item : in Element_Type);
To : in Positive_Count);
procedure Write(File : in File_Type; Item : in Element_Type);
Осуществляет операции над файлом в режиме Inout_File или Out_File. В случае первого варианта, устанавливает индекс данного файла в значение индекса, заданное параметром To. Затем (для обоих вариантов) присваивает значение параметра Item элементу, позиция которого в данном файле задается текущим индексом файла; наконец, увеличивает текущий индекс на единицу.
Исключение Mode_Error распространяется, если режим данного файла — In_File. Исключение Use_Error распространяется, если емкость внешнего файла превышена.
procedure Set_Index(File : in File_Type; To : in Positive_Count);
Осуществляет операции над файлом любого режима. Устанавливает текущий индекс данного файла в заданное значение индекса (которое может превышать текущий размер файла).
function Index(File : in File_Type) return Positive_Count;
Осуществляет операции над файлом любого режима. Возвращает текущий индекс данного файла.
function Size(File : in File_Type) return Count;
Осуществляет операции над файлом любого режима. Возвращает текущий размер внешнего файла, связанного с данным файлом.
function End_Of_File(File : in File_Type) return Boolean;
Осуществляет операции над файлом в режиме In_File или Inout_File. Возвращает True, если текущий индекс превышает размер внешнего файла; в противном случае возвращает False.
Исключение Mode_Error распространяется, если режим данного файла — Out_File.
ПРИМЕЧАНИЯ
20 Режим Append_File не поддерживается для обобщенного пакета Direct_IO.