C言語例文集


 strrchr()    文字列の中から文字を探す

ヘッダ string.h
書式 char *strrchr(const char *str, int c);
引数 str … 探索対象の文字列ポインタ
c … 探索する文字
戻り値 探索する文字が見つかった場合:文字列中に最後に現れた文字のポインタ
見つからなかった場合:NULL
解説 文字strの中から文字cがあるかどうか探索する。
対象の文字が見つかった場合、最後に現れた文字cのポインタを返す。


<サンプルプログラム>

/****************************************************************************/
#include<stdio.h>
#include<string.h>

int main()
{
    char str[16] = "tokugawaieyasu";
    char *c1, *c2;
    int num1, num2;

    c1 = NULL;
    c2 = NULL;

    // 文字「a」を探す
    c1 = strchr(str, 'a');  // 最初に文字aが現れる場所を探す
    c2 = strrchr(str, 'a');  // 最後に文字aが現れる場所を探す

    // 文字「a」が現れない場合
    if(c1 == NULL || c2 == NULL)
    {
        printf("「%s」の中に文字aはありません。\n");
        return 1;
    }

    // 文字「a」が現れる場所を求める
    num1 = c1 - &str[0] + 1;  // a(最初に現れる)のポインタ − 文字列の最初のポインタ + 1
    num2 = c2 - &str[0] + 1;  // a(最後に現れる)のポインタ − 文字列の最初のポインタ + 1

    printf("「%s」で最初に文字「a」が現れる場所は%d文字目です。\n", str, num1);
    printf("「%s」で最後に文字「a」が現れる場所は%d文字目です。\n", str, num2);
    printf("\n");

    return 0;
}
/****************************************************************************/

<実行結果>



<Topページ>

Copyright(c) 2010 , cgengor
このWebページの内容を無断で複製または転載することを禁じます。
このWebページの情報を利用することにより発生したいかなる損害について著作権保有者はいっさいの責任を負いません。