#navi(../)
* 指定した文字の場所を取得する・strchr [#lba78509]
strchr関数は文字列内から指定した文字の位置のポインタ値を返却します。~
以下にCサンプルコードと実行例を記します。

#contents
#htmlinsertpcsp(c-top.html,c-sp.html)

* 関連記事 [#e88e63eb]
-[[指定した文字の場所を取得する・strchr>文字列/指定した文字の場所を取得する・strchr]]
-[[先頭から一致する文字列数を求める・strspn>文字列/先頭から一致する文字列数を求める・strspn]]
-[[指定した文字列が存在する位置を返却する・strstr>文字列/指定した文字列が存在する位置を返却する・strstr]]
-[[大文字小文字を区別せず指定した文字列が存在する位置を返却する・strcasestr>文字列/大文字小文字を区別せず指定した文字列が存在する位置を返却する・strcasestr]]

* strchrの書式 [#m5fb1b9b]
strchrの書式は以下のようになります。
strchrを使用するには、string.hのインクルードが必要です。
 #include <string.h>
書式は以下のようになります。
 char *strchr(const char *s, int c);
つまり
-戻り値~
検索位置のcharのポインタ値
-引数~
1つ目:検索元の文字列ポインタ~
2つ目:検索文字(シングルクオートで囲んでください)~
ダブルクオーテーションで囲むと\0まで含まれてしまいます。
 
* strchrのCサンプルコード [#k277c2bc]
&ref(strchr.c); (改行コードLF)
 #include <stdio.h>
 #include <string.h>
 
 int main(void)
 {
     char *str = "abcdefghijklmnopqrstuvwxyz";
     char *p;
 
     p = strchr(str, 'c');
     if (p != NULL) {
         printf("find(c) : %s\n", p);
     }
     else {
         printf("find c is not found.\n");
     }
 
     p = strchr(str, 'x');
     if (p != NULL) {
         printf("find(x) : %s\n", p);
     }
     else {
         printf("find x is not found.\n");
     }
 
     p = strchr(str, 'A');
     if (p != NULL) {
         printf("find(A) : %s\n", p);
     }
     else {
         printf("find A is not found.\n");
     }
 
     return 0;
 }

* 実行結果 [#qf8bf543]
実際にコンパイルし実行した時の出力結果です。~
指定した文字から表示されているのが確認できます。~
また対応する文字がない場合はNULLが返却されているのが確認できます。
 $ gcc strchr.c -o strchr
 $ ./strchr
 find(c) : cdefghijklmnopqrstuvwxyz
 find(x) : xyz
 find A is not found.

以上、strchrのCサンプルコードでした。

#htmlinsertpcsp(c-btm.html,c-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS