VERIFY — Scan a string for characters not a given set

Description

Verifies that all the characters in STRING belong to the set of characters in SET.

If BACK is either absent or equals FALSE, this function returns the position of the leftmost character of STRING that is not in SET. If BACK equals TRUE, the rightmost position is returned. If all characters of STRING are found in SET, the result is zero.

Syntax

RESULT = VERIFY(STRING, SET[, BACK [, KIND]])

Arguments

STRING Shall be of type CHARACTER.
SET Shall be of type CHARACTER.
BACK (Optional) shall be of type LOGICAL.
KIND (Optional) An INTEGER initialization expression indicating the kind parameter of the result.

Return value

The return value is of type INTEGER and of kind KIND. If KIND is absent, the return value is of default integer kind.

Example


PROGRAM test_verify
  WRITE(*,*) VERIFY("FORTRAN", "AO") ! 1, found 'F'
  WRITE(*,*) VERIFY("FORTRAN", "FOO") ! 3, found 'R'
  WRITE(*,*) VERIFY("FORTRAN", "C++") ! 1, found 'F'
  WRITE(*,*) VERIFY("FORTRAN", "C++", .TRUE.) ! 7, found 'N'
  WRITE(*,*) VERIFY("FORTRAN", "FORTRAN") ! 0' found none
END PROGRAM

Standard

Fortran 95 and later, with KIND argument Fortran 2003 and later

Class

Elemental function

See also

SCAN, INDEX intrinsic