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