strstr() — サブストリングの位置検出

フォーマット

#include <string.h>
char *strstr(const char *string1, const char *string2);

言語レベル

ANSI

スレッド・セーフ

はい

説明

strstr() 関数は、string1string2 が最初に現れる位置を 検索します。この関数は、一致プロセスで string2 を終了するヌル文字 (¥0) を無視します。

戻り値

strstr() 関数は、string1 内での string2 が最初に現れる位置の先頭へのポインターを戻します。string2string1 に現れないと、strstr() 関数は NULL を戻します。string2 がゼロ長のストリングを指す場合には、strstr() 関数は string1 を戻します。

この例では、ストリング "needle in a haystack" の中から、ストリング "haystack" を見つけます。
#include <string.h>
#include <stdio.h>
 
int main(void)
{
   char *string1 = "needle in a haystack";
   char *string2 = "haystack";
   char *result;
 
   result = strstr(string1,string2);
   /* Result = a pointer to "haystack" */
   printf("%s¥n", result);
}
 
/*****************  Output should be similar to: *****************
 
haystack
*/