strcasestr_l(3)

strcasestr_l3

Locate a substring in a string

Part of strstr(3).

Usage

#include <string.h>

QChar *

strstr(QChar *big, const char *little);

QChar *

strcasestr(QChar *big, const char *little);

QChar *

strnstr(QChar *big, const char *little, size_t len);

#include <string.h>

#include <xlocale.h>

QChar *

strcasestr_l(QChar *big, const char *little, locale_t loc);

Library

Standard C Library (libc, -lc)

Overview

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

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

The strcasestr_l() function does the same as strcasestr() but takes an explicit locale rather than using the current locale.

The 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

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

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

33 releases since FreeBSD 9.1-RELEASE; the text changed 22 times.

  1. 9.1
  2. 9.2
  3. 9.3
  4. 10.0
  5. 10.1
  6. 10.2
  7. 10.3
  8. 10.4
  9. 11.0
  10. 11.1
  11. 11.2
  12. 11.3
  13. 11.4
  14. 12.0
  15. 12.1
  16. 12.2
  17. 12.3
  18. 12.4
  19. 13.0–13.2
  20. 13.3–13.5
  21. 14.0–14.5
  22. 15.0–15.1
  23. 16.0

Standards

The strstr() function conforms to ISO/IEC 9899:2024 (“ISO C23”), where it is specified as a qualifier-preserving function.

The strcasestr() function is a GNU extension, and the strnstr() function is a BSD extension. Like the qualifier-preserving functions in ISO/IEC 9899:2024 (“ISO C23”), FreeBSD implements

History

The strnstr() function was introduced by FreeBSD 4.5 and is non-standard.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.