STRCASECMP(3)

NAME
strcasecmp, strncasecmp - compare strings, ignoring case

LIBRARY
libc

SYNOPSIS
#include <strings.h>
int
strcasecmp(const char *s1, const char *s2);
int
strncasecmp(const char *s1, const char *s2, size_t len);
int
strcasecmp_l(const char *s1, const char *s2, locale_t locale);
int
strncasecmp_l(const char *s1, const char *s2, size_t len, locale_t locale);

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

The strncasecmp() function compares at most len characters. The strcasecmp_l() and strncasecmp_l() functions do the same as their non-locale versions above, but take an explicit locale rather than using the current locale.

RETURN VALUES
The functions strcasecmp() and strncasecmp() return an integer greater than, equal to, or less than 0, depending on whether 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’. The functions strcasecmp_l() and strncasecmp_l() do the same but take explicit locales.

SEE ALSO
memcmp(3), strcmp(3), strcoll(3), strxfrm(3), tolower(3), wcscasecmp(3)

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 p1003.1-2001 compliance.

The strcasecmp_l() and strncasecmp_l() functions conform to p1003.1-2008.