STRSTR(3)

名称
strstr, strcasestr, strnstr - 文字列中の部分文字列の位置を探す

ライブラリ
libc

書式
<string.h> char * strstr(const char *big, const char *little) char * strcasestr(const char *big, const char *little) char * strnstr(const char *big, const char *little, size_t len)

解説
strstr() 関数は、ヌル文字で終了する文字列 big 中で、 ヌル文字で終了する文字列 little が最初に出現する位置を探します。

strcasestr() 関数は、 strstr() と同様ですが、 両方の文字列を 無視します。

strnstr() 関数は、検索された len 文字より少ない文字列 big の中で、 ヌル文字で終了する文字列 little が最初に出現する位置を探します。 ‘\0’ の後に現れる文字は、検索されません。 strnstr() 関数は、 FreeBSD の特定の API なので、 移植に無関係なときだけ利用するようにしてください。

戻り値
little が空の文字列のとき、 big を返し、 little に big がない場合は、NULL を返します。 それ以外のときは、 最初に出現した little の最初の文字へのポインタを返します。

例
次の例は、 largestring の "Bar Baz" 部分がポインタ ptr にセットされます。

    const char *largestring = "Foo Bar Baz";
    const char *smallstring = "Bar";
    char *ptr;
    ptr = strstr(largestring, smallstring);

次の例は、ポインタ ptr に NULL がセットされます。これは largestring の最初の 4 文字だけを検索するためです。

    const char *largestring = "Foo Bar Baz";
    const char *smallstring = "Bar";
    char *ptr;
    ptr = strnstr(largestring, smallstring, 4);

関連項目
memchr(3), strchr(3), strcspn(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strtok(3)

規格
strstr() 関数は、 isoC に適合しています。