Oracle Solaris Studio 12.4 Man Pages

Exit Print View

Updated: January 2015
 
 

rindex(3F)

Name

index , rindex , lnblnk , len - 获取子字符串的索引或长度

Synopsis

/用法
 
CHARACTER*(*) string, substr
n = INDEX (string, substr)
INTEGER*4 FUNCTION rindex
CHARACTER*(*) string, substr
n = rindex (string, substr)
INTEGER*4 FUNCTION lnblnk
CHARACTER*(*) string
n = lnblnk (string)
CHARACTER*(*) string
n = LEN (string)

Description

INDEX(a1,a2) 返回字符串 a1 中第一次出现的字符串 a2 的索引,如果未出现该字符串,将返回零(内部函数)。

rindex(a1,a2) 返回字符串 a1 中最后一次出现的字符串 a2 的索引,如果未出现该字符串,将返回零。

lnblnk( a1 ) 返回 a1 中最后一个非空字符的索引。此函数非常有用,因为所有 f77 字符对象都是固定长度的且填充空白。

LEN 返回字符串参数的声明大小(内部函数)。

Notes

针对 64 位环境进行编译时(使用编译器选项 -m64),当应用于非常大的字符串(大于 2 GB)时,例程 lenindexrindexlnblnk 可能会返回大于 INTEGER*4 数据的数据范围的值。在这种情况下,这些函数必须声明为 INTEGER*8,接收其结果的变量也是如此。

示例

示例
 
Example: LEN(), INDEX(), rindex() , lnblnk()():

    CHARACTER s*32 / '123456789 123456789 1234' /
    INTEGER*4 declen, first, last, lnblnk, rindex
    declen = LEN( s )
    first = INDEX( s, '123' )
    last = rindex( s, '123' )
    lastnb = lnblnk( s )
    PRINT*, declen, lastnb, first, last
    END

demo% f77 -silent tindex.f
demo% a.out
   32  24  1  21
demo%

在上面的示例中,declen 是 32 而不是 24。这是字符串变量的声明长度,而不是它包含的字符串的长度。

Files

libfui.a