このエントリーをはてなブックマークに追加


指定した文字の場所を取得する・strchr

strchr関数は文字列内から指定した文字の位置のポインタ値を返却します。
以下にCサンプルコードと実行例を記します。


スポンサーリンク

関連記事

strchrの書式

strchrの書式は以下のようになります。 strchrを使用するには、string.hのインクルードが必要です。

#include <string.h>

書式は以下のようになります。

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

つまり

  • 戻り値
    検索位置のcharのポインタ値
  • 引数
    1つ目:検索元の文字列ポインタ
    2つ目:検索文字(シングルクオートで囲んでください)
    ダブルクオーテーションで囲むと\0まで含まれてしまいます。

strchrのCサンプルコード

filestrchr.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;
}

実行結果

実際にコンパイルし実行した時の出力結果です。
指定した文字から表示されているのが確認できます。
また対応する文字がない場合はNULLが返却されているのが確認できます。

$ gcc strchr.c -o strchr
$ ./strchr
find(c) : cdefghijklmnopqrstuvwxyz
find(x) : xyz
find A is not found.

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


スポンサーリンク

添付ファイル: filestrchr.c 484件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 21:01:00