ホームページ  >  記事  >  バックエンド開発  >  C言語で文字列内の指定した文字を検索する方法

C言語で文字列内の指定した文字を検索する方法

coldplay.xixi
coldplay.xixiオリジナル
2021-03-17 15:41:1325630ブラウズ

文字列内の指定された文字を検索する C 言語の方法: 1. [strchr()] は、文字列内で特定の文字が最初に出現する位置を検索するために使用されます; 2. [strrchr()] 関数が使用されます特定の文字を検索するには 文字列内の最後に出現する文字の位置。

C言語で文字列内の指定した文字を検索する方法

#このチュートリアルの動作環境: Windows7 システム、c99 バージョン、DELL G3 コンピューター。

C 言語で文字列内の指定された文字を検索する方法:

1. strchr() は、文字列内で文字が最初に出現する位置を検索するために使用されます。そのプロトタイプは次のとおりです:

    char * strchr (const char *str, int c);

[パラメータ] str は検索する文字列、c は検索する文字です。

strchr() は、str 文字列内で最初に出現する文字 c のアドレスを検索し、そのアドレスを返します。

注: 文字列 str の終了フラグ NUL も検索範囲に含まれるため、str のグループの後の次の文字も検索できます。

[戻り値] 指定した文字が見つかった場合はその文字のアドレスを返し、そうでない場合は NULL を返します。

返されるアドレスは、メモリ内の文字列にランダムに割り当てられたアドレスに、文字列内で検索している文字の位置を加えたものです。文字列内で文字が最初に出現する位置が i であると仮定すると、返されるアドレスは str i として理解できます。

ヒント: 文字列内で最後に出現する文字を検索する場合は、strrchr() 関数を使用できます。

[例] 文字 5 が最初に出現する位置を見つけます。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strchr(s, &#39;5&#39;);
printf("%ld\n", s);
    printf("%ld\n", p);
system("pause");
    return 0;
}

出力結果:

12016464
12016469

2. strrchr() 関数は、文字列内で最後に出現する文字を検索するために使用されます。そのプロトタイプは次のとおりです:

    char * strrchr(const char *str, int c);

[パラメータ] str は検索する文字列、c は検索する文字です。

strrchr() は、str 文字列内で最後に出現した文字 c のアドレスを検索し、そのアドレスを返します。

注: 文字列 str の終了フラグ NUL も検索範囲に含まれるため、str のグループの後の次の文字も検索できます。

[戻り値] 見つかった場合はその文字が最後に出現した位置を返し、見つからない場合は NULL を返します。

返されるアドレスは、メモリ内の文字列にランダムに割り当てられたアドレスに、文字列内で検索している文字の位置を加えたものです。文字列内で文字が最初に出現する位置が i であると仮定すると、返されるアドレスは str i として理解できます。

ヒント: 文字列内で最初に出現する文字を検索する場合は、strchr() 関数を使用できます。

例: 文字 5 の最後の出現を検索します。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strrchr(s, &#39;5&#39;);
    printf("%ld\n", s);
    printf("%ld\n", p);
    system("pause");
    return 0;
}

実行結果:

12999504
12999529

[関連する学習の推奨事項: C 言語チュートリアル ビデオ]

以上がC言語で文字列内の指定した文字を検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。