Ada 编程/库/Ada.Storage_IO
外观
此语言功能从 Ada 95 开始可用。
Ada.Storage_IO 是 预定义语言环境 自 Ada 95 以来的一部分。
Ada.Storage_IO 不是通用的 输入/输出 包。根据 A.9: 泛型包 Storage_IO [注释](1),它被设计用于构建用户定义的输入输出包,但也可用于将元素从一个 任务 传输到另一个任务。注意: 语言定义的任何 IO 包都不是任务安全的。
它允许您将 *一个* 元素存储在内存缓冲区中。该元素需要是 确定子类型。
小心: 当读取的值无法解释为子类型 Element_Type 的值时,不一定调用异常 Data_Error
(您必须按照 RM 中给出的多个引用来遵循 A.13: 输入输出中的异常 [注释]),这可能导致错误执行; 尤其是在从未写入值的情况下可能会发生这种情况。在不确定时使用 'Valid 属性。
-- Standard Ada library specification -- For copyright, see -- http://ada-auth.org/standards/rm12_w_tc1/html/RM-TTL.html -- -------------------------------------------------------------------------with
Ada.IO_Exceptions;with
System.Storage_Elements;generic
type
Element_Typeis
private
;package
Ada.Storage_IOis
pragma
Preelaborate (Storage_IO); Buffer_Size :constant
System.Storage_Elements.Storage_Count := implementation_defined;subtype
Buffer_Typeis
System.Storage_Elements.Storage_Array (1 .. Buffer_Size); -- Input and output operationsprocedure
Read (Buffer :in
Buffer_Type; Item :out
Element_Type);procedure
Write (Buffer :out
Buffer_Type; Item :in
Element_Type); -- Exceptions Data_Error :exception
renames
IO_Exceptions.Data_Error;end
Ada.Storage_IO;
外部示例
[编辑源代码]- 在以下网站搜索 示例:
Ada.Storage_IO
: Rosetta Code,GitHub (片段),任何 Alire 包 或 本维基教科书。 - 在以下网站搜索与
Ada.Storage_IO
相关的 帖子: Stack Overflow,comp.lang.ada 或 任何 Ada 相关页面。
FSF GNAT
- 规范: a-storio.ads
- 主体: a-storio.adb
drake