1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
SUBROUTINE READL (LU, TEXT, NCH, CHAR, IEOF, IERR)
C-----------------------------------------------------------------
C
C THIS WAS ALSO TAKEN FROM NODIS - WJT
C
C THIS SR READS AN 80 CHARACTER RECORD, SEARCHES FOR A SPECIFIED
C CHARACTER, AND THEN PLACES THE CHARACTERS FOLLOWING THE DESIRED
C CHARACTER INTO THE ARRAY TEXT. IN ADDITION, TEXT(NCH+1) IS SET
C TO 0 (THIS FACILITATES OPENING OF FILES).
C
C INPUTS......
C
C TEXT A LOGICAL*1 ARRAY INTO WHICH THE CHARACTERS FOLLOWING
C THE SEARCH CHARACTER ARE STORED
C CHAR (L1) THE SEARCH CHARACTER
C LU THE LOGICAL UNIT TO READ
C
C OUTPUTS......
C
C TEXT (AS ABOVE)
C NCH THE NUMBER OF CHARACTERS RETURNED IN TEXT (AS IN Q FMT)
C IEOF =0 IF NO EOF ENCOUNTERED
C =1 IF AN EOF IS ENCOUNTERED ON UNIT LU
C IERR =0 IF NO ERRORS
C =1 IF ERRORS ENCOUNTERED
C
C NON-LIBRARY ROUTINES CALLED: NONE
C----------------------------------------------
C
CHARACTER RECORD*80, TEXT*(*)
CHARACTER*1 NULL,CHAR
...
READ (LU, 1000, END=999, ERR=998) NC, RECORD
1000 FORMAT (Q,A)
DO 100 I = 1, NC
IF (RECORD(I:I) .EQ. CHAR) GO TO 101
100 CONTINUE
C ERROR - SEARCH CHARACTER NOT FOUND
GO TO 998
C
101 NCH = NC - I |
Partager