carta
strcasestr(3)

strcasestr3

Locate a substring in a string

Usage

QChar *

QChar *

QChar *

QChar *

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

History

  • FreeBSD 16.0-CURRENT (2026-10-27): the text shown here
  • FreeBSD 15.1-RELEASE to FreeBSD 15.0-RELEASE
  • FreeBSD 14.5-RELEASE to FreeBSD 14.0-RELEASE
  • FreeBSD 13.5-RELEASE to FreeBSD 13.3-RELEASE
  • FreeBSD 13.2-RELEASE to FreeBSD 13.0-RELEASE
  • FreeBSD 12.4-RELEASE
  • FreeBSD 12.3-RELEASE
  • FreeBSD 12.2-RELEASE
  • FreeBSD 12.1-RELEASE
  • FreeBSD 12.0-RELEASE
  • FreeBSD 11.4-RELEASE
  • FreeBSD 11.3-RELEASE
  • FreeBSD 11.2-RELEASE
  • FreeBSD 11.1-RELEASE
  • FreeBSD 11.0-RELEASE
  • FreeBSD 10.4-RELEASE
  • FreeBSD 10.3-RELEASE
  • FreeBSD 10.2-RELEASE
  • FreeBSD 10.1-RELEASE
  • FreeBSD 10.0-RELEASE
  • FreeBSD 9.3-RELEASE
  • FreeBSD 9.2-RELEASE
  • FreeBSD 9.1-RELEASE
  • FreeBSD 9.0-RELEASE
  • FreeBSD 8.4-RELEASE
  • FreeBSD 8.3-RELEASE
  • FreeBSD 8.2-RELEASE
  • FreeBSD 8.1-RELEASE
  • FreeBSD 8.0-RELEASE
  • FreeBSD 7.4-RELEASE
  • FreeBSD 7.3-RELEASE
  • FreeBSD 7.2-RELEASE
  • FreeBSD 7.1-RELEASE
  • FreeBSD 7.0-RELEASE
  • FreeBSD 6.4-RELEASE
  • FreeBSD 6.3-RELEASE to FreeBSD 6.0-RELEASE
  • FreeBSD 5.5-RELEASE to FreeBSD 5.0-RELEASE
  • FreeBSD 4.11-RELEASE to FreeBSD 4.5-RELEASE

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.