2-12 OVERFLOWING AND UNDERFLOWING I/O STATEMENTS  
 ************************************************
 I/O statements (read, write...) transfer data from a file to some variable 
 list, or from a variable list to a file.
 Generally each I/O statement transfers one record, the exceptions (in
 standard FORTRAN) are formatted and list-directed statements which can
 transfer additional records.
 Reading (on VMS)
 ----------------
 If you read only a part of a record, the rest is ignored - the next read
 statement will read from the beginning of the next record. 
 If you try to read more data than a record contains then:
        INPUT TYPE      RESULT
        ----------      ----------------------------------------
        Formatted       All(?) record is read as if it contained 
                        only space characters
        Unformatted     An error condition occurs
 Writing (on VMS)
 ----------------
 If you try to write to a record more data than it can contain (see next
 section) an error condition occurs.
 If you write to a FIXED LENGTH RECORD less data than is required to 
 fill it then:
        RECORD TYPE     RESULT
        -----------     --------------------------------
        Formatted       The record is filled with spaces
        Unformatted     The record is filled with zeros
 Maximum and default record lengths (on VMS)
 -------------------------------------------
 Other important properties of files are the maximum record length allowed
 and the default maximum record length.
 Records(segments) size maximum values on VMS are:
        FILE ORGANIZATION       FORMATTED       UNFORMATTED
                                (bytes)         (longwords)
        -----------------       ---------       -----------
        Sequential               32766           8191
        Sequential on tape       9999            2499
 Default maximum record(segment) size values on VMS are:
        RECORD TYPE     default maximum value
        -----------     ---------------------------------------------
        Fixed           none, you should specify the value explicitly
        Segmented       2048 longwords
        Other           133 bytes
 Return to contents page