Transfers data from external or internal units to internal storage.
The meanings of the symbolic abbreviations used to represent the
parameters in the READ statement syntax are as follows:
extu Is the logical unit or internal file optionally
or prefaced by UNIT=. UNIT= is required if unit is
intu not the first element in the clist.
fmt Specifies whether formatting is to be used for
data editing, and if it is, the format specification
or an asterisk (*) to indicate list-directed formatting.
The "fmt" is optionally prefaced by FMT=, if "fmt" is
the second parameter in the clist and the first parameter
is a logical or internal unit specifier without the
optional keyword UNIT=.
nml Is the namelist group specification for namelist I/O.
Optionally prefaced by NML=. NML= is required
if namelist is not the second I/O specifier.
rec Is the cell number of a record to be accessed directly.
Optionally prefaced by REC= or by an apostrophe (').
iostat Is the name of a variable to contain the completion
status of the I/O operation. Optionally prefaced
by IOSTAT=.
err Is the label of a statement to which control is
transferred in the event of an error. Optionally
prefaced by ERR=.
end Is the label of a statement to which control is
transferred in the event of an end-of-file.
Optionally prefaced by END=.
eor Is the label of a statement to which control is
transferred in the event of an end-of-record.
Optionally prefaced by EOR=. This can only
be specified for nonadvancing READs.
adv Specifies advancing (ADVANCE='YES') or nonadvancing
input (ADVANCE='NO'). The default is 'YES'.
size Specifies character count (SIZE=int). It can
only be indicated for nonadvancing READs.
keyspec Specifies the key of field value of a record to
be accessed. Optionally prefaced by KEY=, KEYEQ=,
KEYGE=, KEYGT=, KEYNXT, KEYNXTNE, KEYLT, or KEYLE.
keyid Specifies the key field index that is to be searched
for the specified key field value. Optionally in-
cluded with keyspec and optionally prefaced by KEYID=.
iolist Are the names of the variables, arrays, array
elements, or character substrings from which or
to which data will be transferred. Optionally
an implied-DO list.
The control-list parameters are "extu" (or "intu"), "fmt", "nml",
"rec", "iostat", "err", "end", "adv", "size", "keyspec", and
"keyid". The I/O list parameter is "iolist".
1 – Sequential
1.1 – Formatted
Translates the data from character to binary format as specified by
format specifications. Statement formats:
1. READ (extu, fmt [,adv][,size][,iostat][,err][,end][,eor]) [iolist]
Reads from a specified external unit.
2. READ fmt [,iolist]
Reads from FOR$READ (normally, the terminal).
1.2 – List-directed
List-directed sequential READ statement formats:
1. READ(extu,*[,iostat][,err][,end])[iolist]
Reads from a specified external unit.
Translates the data from character to binary
format according to the data types of the
variables in the I/O list.
2. READ * [,iolist]
Reads from FOR$READ (normally, the terminal).
Translates the data from character to binary
format according to the data types of the
variables in the I/O list.
1.3 – Namelist
Namelist sequential READ statement formats:
1. READ (extu,nml [,iostat][,err][,end])
Reads from a specified external unit. Translates
the data from character to binary format according
to the data types of the list entities in the
corresponding NAMELIST statement.
2. READ nml
Reads from FOR$READ (normally, the terminal).
Translates the data from character to binary format
according to the data types of the entities in the
corresponding NAMELIST statement.
1.4 – Unformatted
Unformatted sequential READ statement format:
READ (extu,[,iostat][,err][,end]) [iolist]
Reads from a specified external unit. Does not translate the data.
2 – Direct
2.1 – Formatted
Formatted direct READ statement format:
READ (extu,fmt,rec[,iostat][,err]) [iolist]
Reads from a specified external unit. Translates the data from
character to binary format as specified by "fmt".
2.2 – Unformatted
Unformatted direct READ statement format:
READ (extu,rec[,iostat][,err]) [iolist]
Reads from a specified external unit. Does not translate the data.
3 – Indexed
3.1 – Formatted
Formatted Indexed READ statement format:
READ (extu,fmt,keyspec[,keyid][,err][,iostat]) [iolist]
Reads from a specified external unit. Translates the data from
character to binary format as specified by "fmt".
3.2 – Unformatted
Unformatted Indexed READ statement format:
READ (extu,keyspec[,keyid][,err][,iostat]) [iolist]
Reads from a specified external unit. Does not translate the data.
4 – Internal
Internal READ statement format:
READ (intu,fmt[,err][,iostat][,end]) [iolist]
Reads from a specified character variable. Translates the data
from character to binary format as specified by "fmt".