10 FUNCTION last_c_leng (len_str, string) RESULT (leng)
14 INTEGER,
INTENT(IN) :: len_str
15 CHARACTER (LEN=len_str),
INTENT(IN) :: string
23 IF ( string(i:i) .EQ.
' ' )
THEN 32 FUNCTION eval_blank(len_str, string) RESULT (leng)
36 INTEGER,
INTENT(IN) :: len_str
37 CHARACTER (LEN=len_str),
INTENT(IN) :: string
45 IF ( string(i:i) .NE.
' ' )
THEN 58 CHARACTER (LEN=*),
INTENT(IN) :: string
66 IF ( string(i:i) .NE.
' ' )
THEN 79 CHARACTER (LEN=*),
INTENT(IN) :: string
86 DO i = len(string), 1, -1
87 IF ( string(i:i) .NE.
' ' )
THEN 97 INTEGER,
PARAMETER :: long_max=128
98 INTEGER,
INTENT(IN) :: unit
99 CHARACTER(LEN=*),
INTENT(IN) :: string
100 CHARACTER(len=long_max) :: control
101 INTEGER :: d_end, d_start
102 LOGICAL,
OPTIONAL :: error
103 IF (
PRESENT(error)) error =.false.
106 READ(unit,
'(64A)',err=11,end=22) control
109 IF (control(d_start:d_end)==string)
RETURN 113 11
WRITE(*,*)
' Error reading data file ';
IF (
PRESENT(error)) error=.true.;
RETURN 114 22
WRITE(*,*)
' Data string ',string,
' not found ';
IF (
PRESENT(error)) error=.true.;
RETURN 120 INTEGER,
PARAMETER :: long_max=128
121 INTEGER,
INTENT(IN) :: unit
122 CHARACTER(LEN=*),
INTENT(IN) :: string
123 CHARACTER(len=long_max) :: control
124 INTEGER :: d_end, d_start
130 READ(unit,
'(64A)',err=11,end=22) control
133 IF (control(d_start:d_end)==string)
RETURN 136 11
WRITE(*,*)
' Erreur de lecture '; stop
137 22 okay = .false.;
RETURN integer function, public last_of_string(string)
subroutine find_string(unit, string, okay)
integer function eval_blank(len_str, string)
subroutine read_until(unit, string, error)
integer function, public start_of_string(string)
integer function, public last_c_leng(len_str, string)