strstr(3bsd) 3bsd strstr(3bsd)

# [NAME](#NAME)

`strnstr` — locate a substring in a string

# [LIBRARY](#LIBRARY)

library “libbsd”

# [SYNOPSIS](#SYNOPSIS)

`#include <string.h>` (See [libbsd(7)](/man/os/libbsd/libbsd.7) for include usage.)  
`char *`  
`strnstr`(`const char *big`, `const char *little`, `size_t len`);

# [DESCRIPTION](#DESCRIPTION)

The [`strnstr`](#strnstr)() function locates the first occurrence of the null-terminated string `little` in the string `big`, 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.

# [RETURN VALUES](#RETURN_VALUES)

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

# [EXAMPLES](#EXAMPLES)

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);
```

# [SEE ALSO](#SEE_ALSO)

[strstr(3)](/man/os/libbsd/strstr.3), [strcasestr(3)](/man/os/libbsd/strcasestr.3), [memchr(3)](/man/os/libbsd/memchr.3), [memmem(3)](/man/os/libbsd/memmem.3), [strchr(3)](/man/os/libbsd/strchr.3), [strcspn(3)](/man/os/libbsd/strcspn.3), [strpbrk(3)](/man/os/libbsd/strpbrk.3), [strrchr(3)](/man/os/libbsd/strrchr.3), [strsep(3)](/man/os/libbsd/strsep.3), [strspn(3)](/man/os/libbsd/strspn.3), [strtok(3)](/man/os/libbsd/strtok.3), [wcsstr(3)](/man/os/libbsd/wcsstr.3)

# [HISTORY](#HISTORY)

The `strnstr`() function originated in FreeBSD.

October 11, 2001 Linux 4.19.0-gvisor

---

Document: strnstr(3bsd) from libbsd 0.12.2-r11 (Chainguard OS)
Source: https://gitlab.freedesktop.org/libbsd/libbsd
