STRSTR(3)

名前
strstr, strcasestr - 部分文字列の位置を示す

書式
#include <string.h>

char *strstr(const char *haystack, const char *needle);

#define _GNU_SOURCE         /* feature_test_macros(7) 参照 */

#include <string.h>

char *strcasestr(const char *haystack, const char *needle);

説明
strstr() 関数は、部分文字列 needle が文字列 haystack 中 で最初に現れる位置を見つける。 文字列を終端 NULL バイト ('\0') は比較されない。 strcasestr() 関数は strstr() 関数と同様だが、 両方の引数に対して大文字小文字を無視する。

返り値
これらの関数は、部分文字列の開始を指すポインタを返し、 もし部分文字列が見つからない場合は NULL を返す。

準拠
strstr() 関数は C89 と C99 に準拠している。 strcasestr() 関数は非標準拡張である。

バグ
Linux libc の初期のバージョン(4.5.26 まで)は strstr() 関数の needle 引数に空文字列を指定できない。 最近のバージョン(4.6.27 以降)は正しく動作し、 needle が空の時は haystack を返す。

関連項目
index(3), memchr(3), rindex(3), strcasecmp(3), strchr(3), string(3), strpbrk(3), strsep(3), strspn(3), strtok(3), wcsstr(3)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。