locate a substring in a string

You're viewing an older version of this page (#3495). View the current version.

View versions (4)

NAME

<span class="Nm" id="strstr">strstr</span>, <span class="Nm" id="strcasestr">strcasestr</span>, <span class="Nm" id="strnstr">strnstr</span>, <span class="Nm" id="strcasestr_l">strcasestr_l</span>

INTERFACE

#include <string.h> char strstr ( const char *big, const char *little ) char strcasestr ( const char *big, const char *little ) char strnstr ( const char *big, const char *little, size_t len ) #include <xlocale.h> char strcasestr_l ( const char *big, const char *little, locale_t loc )

DESCRIPTION

The strstr function locates the first occurrence of the null-terminated string &#92;c little in the null-terminated string &#92;c big.

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 &#92;c little in the string &#92;c big, where not more than &#92;c len characters are searched. Characters that appear after a '<span class="Qlq">\\0</span>' 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 for more information.

RETURN VALUES

If little is an empty string, big is returned; if little occurs nowhere in big, <span class="Dv">NULL</span> is returned; otherwise a pointer to the first character of the first occurrence of little is returned.

EXAMPLES

The following sets the pointer <span class="Va">ptr</span> to the "<span class="Qq"><span class="Li">Bar</span> <span class="Li">Baz</span></span>" portion of <span class="Va">largestring</span>:

const char *largestring = "Foo Bar Baz";
const char *smallstring = "Bar";
char *ptr;

ptr = strstr(largestring, smallstring);

The following sets the pointer <span class="Va">ptr</span> to <span class="Dv">NULL</span>, because only the first 4 characters of <span class="Va">largestring</span> are searched:

const char *largestring = "Foo Bar Baz";
const char *smallstring = "Bar";
char *ptr;

ptr = strnstr(largestring, smallstring, 4);

SEE ALSO

memchr, strchr, strcspn, strpbrk, strrchr, strspn, strtok

STANDARDS

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