7.2.4.1 Formatted Internal READ Statement

The formatted internal READ statement performs the following operations:

The formatted internal READ statement behaves as if the format begins with a BN edit descriptor. You can override this behavior by explicitly specifying the BZ edit descriptor.

Example

The following program segment reads a record and examines the first character to determine whether the remaining data should be interpreted as decimal, octal, or hexadecimal. It then uses internal-file reads to make appropriate conversions from character string representations to binary.


 INTEGER IVAL

 CHARACTER TYPE, RECORD*80

 CHARACTER*(*) AFMT, IFMT, OFMT, ZFMT

 PARAMETER (AFMT='(Q,A)', IFMT= '(I10)', OFMT= '(O11)',

1          ZFMT= '(Z8)')

 ACCEPT AFMT, ILEN, RECORD

 TYPE = RECORD(1:1)

 IF (TYPE .EQ. 'D') THEN

     READ (RECORD(2:MIN(ILEN, 11)), IFMT) IVAL

 ELSE IF (TYPE .EQ. 'O') THEN

     READ (RECORD(2:MIN(ILEN, 12)), OFMT) IVAL

 ELSE IF (TYPE .EQ. 'X') THEN

     READ (RECORD(2:MIN(ILEN, 9)),ZFMT) IVAL

 ELSE

     PRINT *, 'ERROR'

 END IF

 END


Previous Page Next Page Table of Contents