文字列の最後から文字を検索する
strrchr
【書式】
char *strrchr(const char *s, int c);
【引数】
const char *s 検索対象文字列
int c 検索文字
【戻り値】
成功時 一致文字のアドレス
失敗時 NULL
【機能】
文字列sの最後から文字cを探し、最初に見つかった位置をポインタで返却します。
見つからなかったときにはNULLを返却します。
文字列終了コードの'\0'も文字列の一部と見なします。つまり、strrchr(s, 0);も可能です。
【インクルードファイル】
strrchr関数 string.h
【必要追加ライブラリ】
なし
使用例
〈サンプルプログラム〉
#include <string.h>
#include <stdio.h>
int main(void)
{
char str[] = "abcdefghijklmnabcdefghijklmn";
char *p;
int c;
printf("検索文字を入力してください。") ;
c = getchar();
p = strrchr(str, c);
if(NULL != p)
{
printf("%cは文字列の%d番目にあります。\n", c, p-str);
printf("以降の文字列は%sです。\n", p);
}
else
{
printf("%cは見つかりませんでした\n", c);
}
return 0;
}
〈出力〉
検索文字を入力してください。d dは文字列の17番目にあります。 以降の文字列はdefghijklmnです。