strrchr() — ストリング内で文字が最後に現れる位置の検出
フォーマット
#include <string.h>
char *strrchr(const char *string, int c);
言語レベル
ANSI
スレッド・セーフ
はい
ロケール依存
この関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。詳細については、CCSID およびロケールの理解を参照してください。
説明
strrchr() 関数は、string 内で (文字に変換された) c が最後に現れる位置を検索します。終了ヌル文字は、 string の一部と見なされます。
戻り値
strrchr() 関数は、string 内の c が最後に現れる位置へのポインターを戻します。指定文字が検出されない場合は、NULL ポインターが戻されます。
例
この例では、strchr() と strrchr() の使用法を比較します。ストリングを調べて、ストリング内で p が最初に現れる位置と最後に現れる位置を検索します。
#include <stdio.h>
#include <string.h>
#define SIZE 40
int main(void)
{
char buf[SIZE] = "computer program";
char * ptr;
int ch = 'p';
/* This illustrates strchr */
ptr = strchr( buf, ch );
printf( "The first occurrence of %c in '%s' is '%s'¥n", ch, buf, ptr );
/* This illustrates strrchr */
ptr = strrchr( buf, ch );
printf( "The last occurrence of %c in '%s' is '%s'¥n", ch, buf, ptr );
}
/***************** Output should be similar to: *****************
The first occurrence of p in 'computer program' is 'puter program'
The last occurrence of p in 'computer program' is 'program'
*/