strstr(3) 部分文字列の位置を示す

Other Alias

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 中 で最初に現れる位置を見つける。 文字列を終端ヌルバイト ('\0') は比較されない。

strcasestr() 関数は strstr() 関数と同様だが、 両方の引数に対して大文字小文字を無視する。

返り値

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

属性

マルチスレッディング (pthreads(7) 参照)

strstr() 関数はスレッドセーフである。

strcasestr() 関数は、例外付きのスレッドセーフである。実行中に setlocale(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。

準拠

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

バグ

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

この文書について

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