IICSR

This function compares two character strings using the ASCII collating sequence but without regard to case.

Function Return Value

IICSR — Comparison indicator.   (Output)
Let USTR1 and USTR2 be the uppercase versions of STR1 and STR2, respectively. The following table indicates the relationship between USTR1 and USTR2 as determined by the ASCII collating sequence.

IICSR                   Meaning

−1                           USTR1 precedes USTR2

0                              USTR1 equals USTR2

1                              USTR1 follows USTR2

Required Arguments

STR1 — First character string.   (Input)

STR2 — Second character string.   (Input)

FORTRAN 90 Interface

Generic:                              IICSR (STR1, STR2)

Specific:                             The specific interface name is IICSR.

FORTRAN 77 Interface

Single:                                IICSR (STR1, STR2)

Description

Routine IICSR compares two character strings. It returns −1 if the first string is less than the second string, 0 if they are equal, and 1 if the first string is greater than the second string. The comparison is case insensitive.

Comments

If the two strings, STR1 and STR2, are of unequal length, the shorter string is considered as if it were extended with blanks to the length of the longer string.

Example

This example shows different cases on comparing two strings.

 

      USE IICSR_INT

      USE UMACH_INT

 

      IMPLICIT   NONE

      INTEGER    NOUT

      CHARACTER  STR1*6, STR2*6

!                                 Get output unit number

      CALL UMACH (2, NOUT)

!                                 Compare String1 and String2

!                                 String1 is 'bigger' than String2

      STR1 = 'ABc 1'

      STR2 = ' '

      WRITE (NOUT,99999) STR1, STR2, IICSR(STR1,STR2)

!

!                                 String1 is 'equal' to String2

      STR1 = 'AbC'

      STR2 = 'ABc'

      WRITE (NOUT,99999) STR1, STR2, IICSR(STR1,STR2)

!

!                                 String1 is 'smaller' than String2

      STR1 = 'ABc'

      STR2 = 'aBC 1'

      WRITE (NOUT,99999) STR1, STR2, IICSR(STR1,STR2)

!

99999 FORMAT (' For String1 = ', A6, 'and String2 = ', A6, &

            ' IICSR = ', I2, /)

      END

Output

 

For String1 = ABc 1 and String2 =        IICSR =  1

 

For String1 = AbC   and String2 = ABc    IICSR =  0

 

For String1 = ABc   and String2 = aBC 1  IICSR = -1


Visual Numerics, Inc.
Visual Numerics - Developers of IMSL and PV-WAVE
http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260