C言語:文字列で指定された文字を検索するstrchr()とstrrchr()


リファレンス記事の接続:
1.http://c.biancheng.net/cpp/html/161.html
2.http://c.biancheng.net/cpp/html/172.html
1.ヘッダファイル:#include
strchr()は、文字列に最初に現れる文字の位置を検索するために使用されます.その原型は次のとおりです.
    char * strchr (const char *str, int c);
【パラメータ】strは検索する文字列であり、cは検索する文字である.
strchr()は、str文字列に最初に現れた文字cのアドレスを見つけ、そのアドレスを返します.
注意:文字列strの終了フラグNULも検索範囲に含まれるので、strのグループの後の文字も位置決めできます.
【戻り値】指定した文字が見つかった場合は、その文字が存在するアドレスを返し、そうでない場合はNULLを返します.
返されるアドレスは、文字列がメモリにランダムに割り当てられたアドレスに、検索した文字が文字列の位置に追加されます.文字列に文字が最初に現れる位置をiとすると、返されるアドレスはstr+iと理解できる.
ヒント:文字列の最後に文字が表示される場所を検索するにはstrrchr()を使用します.
で行ないます.
【例】文字5が最初に出現する位置を検索する.
#include
#include
#include
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strchr(s, '5');
printf("%ld", s);
    printf("%ld", p);
system("pause");
    return 0;
}
出力結果:
12016464
12016469
2.ヘッダファイル:#include
strrchr()関数は、char*strrchr(const char*str,int c)、char*strrchr(const char*str,int c)、char*strrchr(const char*str,int c)、char*strrchr(const char*str,int c)、char*str、int c、【パラメータ】strは検索する文字列であり、cは検索する文字である.strrchr()は、str文字列の最後に現れる文字cのアドレスを見つけ、そのアドレスを返します.注意:文字列strの終了フラグNULも検索範囲に含まれるので、strのグループの後の文字も位置決めできます.【戻り値】文字が最後に表示された場所が見つかった場合、NULLを返します.返されるアドレスは、文字列がメモリにランダムに割り当てられたアドレスに、検索した文字が文字列の位置に追加されます.文字列に文字が最初に現れる位置をiとすると、返されるアドレスはstr+iと理解できる.ヒント:文字列に最初に表示される文字の場所を検索する場合はstrchr()関数を使用します.例:文字5が最後に表示された場所を検索します.
#include
#include
#include
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strrchr(s, '5');
    printf("%ld", s);
    printf("%ld", p);
    system("pause");
    return 0;
}
実行結果:
12999504
12999529