STRSTR(3) | Library Functions Manual | STRSTR(3) |
strstr
,
strcasestr
, strnstr
—
locate a substring in a string
Standard C Library (libc, -lc)
#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);
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.
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.
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);
memchr(3), memmem(3), strchr(3), strcspn(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strtok(3), wcsstr(3), xlocale(3)
The strstr
() function conforms to
ISO/IEC 9899:1990
(“ISO C90”).
October 11, 2001 | macOS 15.2 |