strstr(3)

strstr3

Locate a substring in a string

Usage

#include <string.h>

char *

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

char *

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

char *

strnstr(const char *haystack, const char *needle, size_t len);

#include <string.h>

#include <xlocale.h>

char *

strcasestr_l(const char *haystack, const char *needle, locale_t loc);

Library

Standard C Library (libc, -lc)

Overview

The strstr() function locates the first occurrence of the null-terminated string needle in the null-terminated string haystack.

The strcasestr() function is similar to strstr(), but ignores the case of both strings.

The strnstr() function locates the first occurrence of the null-terminated string needle in the string haystack, where not more than len characters are searched. Characters that appear after a ‘\0’ character are not searched. Since the strnstr() function is a FreeBSD specific API, it should only be used when portability is not a concern.

While the strcasestr() function uses the current locale, the strcasestr_l() function may be passed a locale directly. See xlocale(3) for more information.

Return values

If needle is an empty string, haystack is returned; if needle occurs nowhere in haystack, NULL is returned; otherwise a pointer to the first character of the first occurrence of needle is returned.

Examples

The following sets the pointer ptr to the "Bar Baz" portion of largestring:

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

The following sets the pointer ptr to NULL, because only the first 4 characters of largestring are searched:

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

Releases

163 releases since Mac OS X 10.0; the text changed 6 times.

  1. 10.0–10.1.5
  2. 10.2–10.2.8
  3. 10.3–10.4.11
  4. 10.5–10.6.8
  5. 10.7–10.10.5
  6. 10.11–10.11.6
  7. 10.12–26.5

Standards

The strstr() function conforms to ISO/IEC 9899:1990 (“ISO C90”).

From Libc 1752.120.2 in macOS 26.5. Parsed by carta from the page's mdoc source.