NAME
strcasecmp
,
strncasecmp
—
compare strings, ignoring
case
LIBRARY
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
Thestrcasecmp
(),
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
IEEE Std 1003.1-2001 (“POSIX.1”)
compliance.
The strcasecmp_l
() and
strncasecmp_l
() functions conform to
IEEE Std 1003.1-2008 (“POSIX.1”).