strrchr

指定した文字が文字列内で最後に一致する位置から始まる部分文字列を返します。

string strrchr(const char *, char)

strrchr関数は、指定された文字列内で一致する文字が最後に見つかった位置から始まる部分文字列を返します。一致するものがない場合、strrchrは0を返します。この関数は、ワイド文字またはマルチバイト文字では機能しません。

返される文字列には、スクラッチ・メモリーからメモリーが割り当てられます。そのためこれは節の処理中にのみ有効です。使用できるスクラッチ・メモリーが不足している場合、strrchrは実行されず、エラーが生成されます。

例7-51 strrchrを使用して、最後に出現した文字へのポインタを返す方法

BEGIN
{
        str = "fooeyfooeyfoo";
        c = 'y';
        # the following line prints "yfoo"
        printf("\"%s\"\n", strrchr(str, c));
        exit(0)
}