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