#このチュートリアルの動作環境: Windows7 システム、c99 バージョン、DELL G3 コンピューター。文字列内の指定された文字を検索する C 言語の方法: 1. [strchr()] は、文字列内で特定の文字が最初に出現する位置を検索するために使用されます; 2. [strrchr()] 関数が使用されます特定の文字を検索するには 文字列内の最後に出現する文字の位置。
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, '5'); 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, '5'); printf("%ld\n", s); printf("%ld\n", p); system("pause"); return 0; }実行結果:
12999504 12999529
[関連する学習の推奨事項: C 言語チュートリアル ビデオ]
以上がC言語で文字列内の指定した文字を検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。