Previous: karid2 Up: ../karrtn.html Next: karlc
INTEGER FUNCTION KARIDX (TEXTA,LOCA,LENA,
# TEXTB,LOCB,LENB)
Given two packed character strings defined by the
arguments TEXTA,LOCA,LENA and TEXTB,LOCB,LENB, search the
first string for the first occurrence of the second string.
If any of the arguments LOCA, LENA, LOCB, or LENB are
invalid, or if the second string is not found in the first,
return 0. Otherwise, return its index, or position, in
TEXTA(*), counting from the first character stored in
TEXTA(*). The result returned is thus always 0, or not less
than LOCA. For example, KARIDX(5HHELLO,LOC,5,2HLO,1,2)
returns the value 4 if LOC = 1,2,3, or 4, since the second
string begins at the fourth position in the first string. If
LOC is outside the range 1..4, then 0 is returned.
KARIDX is essentially equivalent to the PL/1 INDEX
function. It is worth noting that at least two computers,
the DEC VAX-11/780 and the UNIVAC 1160, have a single
hardware instruction for performing the function of this
routine.