Go to the first, previous, next, last section, table of contents.
Static Semantics
-
Two kinds of access to external files are defined in this subclause:
sequential access and direct access. The corresponding file types and
the associated operations are provided by the generic packages
Sequential_IO and Direct_IO. A file object to be used for sequential
access is called a sequential file, and one to be used for direct access
is called a direct file. Access to stream files is described in
See section A.12.1 The Package Streams.Stream_IO.
-
For sequential access, the file is viewed as a sequence of values that
are transferred in the order of their appearance (as produced by the
program or by the external environment). When the file is opened with
mode In_File or Out_File, transfer starts respectively from or to the
beginning of the file. When the file is opened with mode Append_File,
transfer to the file starts after the last element of the file.
-
For direct access, the file is viewed as a set of elements occupying
consecutive positions in linear order; a value can be transferred to or
from an element of the file at any selected position. The position of an
element is specified by its index, which is a number, greater than zero,
of the implementation-defined integer type Count. The first element, if
any, has index one; the index of the last element, if any, is called the
current size; the current size is zero if there are no elements. The
current size is a property of the external file.
-
An open direct file has a current index, which is the index that will be
used by the next read or write operation. When a direct file is opened,
the current index is set to one. The current index of a direct file is a
property of a file object, not of an external file.
- A.8.1: The Generic Package Sequential_IO
- A.8.2: File Management
- A.8.3: Sequential Input-Output Operations
- A.8.4: The Generic Package Direct_IO
- A.8.5: Direct Input-Output Operations
Go to the first, previous, next, last section, table of contents.