パソコン活用研究シリコンバレー(C、C++、の活用研究)

文字の検索関数2
(準備中)


文字列処理関数では説明しなかった文字の検索に関する関数

関数 仕様 機能
strchr char *strchr(s,c);
char *s;
int c;

戻り値は最初に見つかった位置を指す
ポインタ。
発見できなかった時はNULL
文字列sの中から、文字cを検索し、最初に発見された位置のポインタ
を返す。
strrchr char *strchr(s,c);
char *s;
int c;

戻り値は最初に見つかった位置を指す
ポインタ。
発見できなかった時はNULL
strchrとは逆に文字列の末尾から検索をおこなう。
strpbrk char *strpbrk(s1,s2);
char *s1, *s2;

戻り値は最初に見つかった位置を指す
ポインタ。
発見できなかった時はNULL
文字列s1の中で、s2で指定した文字のうちいずれか1文字が最初に現れる
位置を検索し、そのポインタを返す。
strstr char *strstr(s1,s2);
char *s1, s2;

戻り値は最初に見つかった文字列の位置
を指すポインタ。
文字列s1の中で、s2の文字列と一致する部分を検索し、最初に発見した
位置を指すポインタを返す。
strspn int strspn(s1, s2);
char *s1, s2;

戻り値は指定された文字列の長さ
文字列s1の先頭から、s2の文字列に含まれる文字群だけで構成される部分の
長さを返す。s1の先頭の文字がs2の文字群に含まれていない場合は0を返す。

この関数は文字列の長さを返す関数ですが、
別の言い方をすると、s2の文字群に含まれていな文字が、文字列s1の中で
最初に見つかった位置を返すともいえる。
strcspn int strcspn(s1, s2);
char *s1, s2;

戻り値は指定されていない文字列の長さ
strspnとは逆の機能。

文字列s1の先頭から、s2の文字列に含まれない文字群だけで構成される部分の
長さを返す。s1の先頭の文字がs2の文字群に含まれている場合は0を返す。

別の言い方をすると、s2の文字群に含まれている文字が、文字列s1の中で
最初に見つかった位置を返すともいえる。


これらの関数を使ったプログラム例は、簡単な判定プログラム(初級編)にあります。

TopPage