strcasecmp(3)

strcasecmp3

Compare strings, ignoring case

Usage

#include <strings.h>

int

strcasecmp(const char *s1, const char *s2);

int

strncasecmp(const char *s1, const char *s2, size_t n);

#include <strings.h>

#include <xlocale.h>

int

strcasecmp_l(const char *s1, const char *s2, locale_t loc);

int

strncasecmp_l(const char *s1, const char *s2, size_t n, locale_t loc);

Library

Standard C Library (libc, -lc)

Overview

The strcasecmp() and strncasecmp() functions compare the null-terminated strings s1 and s2.

The strncasecmp() compares at most n characters.

Although the strcasecmp() and strncasecmp() functions use the current locale, the strcasecmp_l() and strncasecmp_l() functions may be passed locales directly. See xlocale(3) for more information.

Return values

The strcasecmp() and strncasecmp() return an integer greater than, equal to, or less than 0, according as s1 is lexicographically greater than, equal to, or less than s2 after translation of each corresponding character to lower-case. The strings themselves are not modified. The comparison is done using unsigned characters, so that ‘\200’ is greater than ‘\0’.

Releases

163 releases since Mac OS X 10.0; the text changed 5 times.

  1. 10.0–10.1.5
  2. 10.2–10.2.8
  3. 10.3–10.3.9
  4. 10.4–10.4.11
  5. 10.5–10.6.8
  6. 10.7–26.5

History

The strcasecmp() and strncasecmp() functions first appeared in 4.4BSD. Their prototypes existed previously in ⟨string.h⟩ before they were moved to ⟨strings.h⟩ for IEEE Std 1003.1-2001 (“POSIX.1”) compliance.

From Libc 1752.120.2 in macOS 26.5. Parsed by carta from the page's mdoc source.