strchr

文字列の先頭から文字を検索する

【書式】
#include <string.h>
char *strchr(const char *s, int c);

【説明】
文字列 s の先頭から文字 c を探し、最初に見つかった位置をポインタで返却します。 見つからなかったときにはNULLを返却します。
文字列終了コードの'\0'も文字列の一部と見なします。つまり、strchr(s, 0); も可能です。ただし、'\0'を超えての検索はできません。

【引数】
const char *s : 検索対象文字列
int c : 検索文字

【戻り値】
見つかったとき : 一致文字列の先頭アドレス
見つからなかったとき : NULL

【使用例】
#include <string.h>
#include <stdio.h>

int main(void)
{
	char str[] = "abcdefghijklmnabcdefghijklmn", *p;
	int c;

	printf("検索文字を入力してください。");
	c = getchar();
	
	p = strchr(str, c);
	if (p != NULL) {
		printf("%cは文字列の%d番目にあります。\n", c, p-str);
		printf("以降の文字列は%sです。\n", p);
	}
	else
		printf("%cは見つかりませんでした\n", c);
		
	return 0;
}
【実行結果例】
検索文字を入力してください。d
dは文字列の3番目にあります。
以降の文字列はdefghijklmnabcdefghijklmnです。

戻る


banner
初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved