NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ATTRIBUTES |STANDARDS |HISTORY |SEE ALSO |COLOPHON | |
strcasecmp(3) Library Functions Manualstrcasecmp(3)strcasecmp, strncasecmp - compare two strings ignoring case
Standard C library (libc,-lc)
#include <strings.h>int strcasecmp(const char *s1, const char *s2);int strncasecmp(size_t n;const chars1[n], const chars2[n], size_tn);
Thestrcasecmp() function performs a byte-by-byte comparison of the stringss1 ands2, ignoring the case of the characters. It returns an integer less than, equal to, or greater than zero ifs1 is found, respectively, to be less than, to match, or be greater thans2. Thestrncasecmp() function is similar, except that it compares no more thann bytes ofs1 ands2.
Thestrcasecmp() andstrncasecmp() functions return an integer less than, equal to, or greater than zero ifs1 is, after ignoring case, found to be less than, to match, or be greater thans2, respectively.
For an explanation of the terms used in this section, seeattributes(7). ┌───────────────────────────────┬───────────────┬────────────────┐ │Interface│Attribute│Value│ ├───────────────────────────────┼───────────────┼────────────────┤ │strcasecmp(),strncasecmp() │ Thread safety │ MT-Safe locale │ └───────────────────────────────┴───────────────┴────────────────┘
POSIX.1-2008.
4.4BSD, POSIX.1-2001. Thestrcasecmp() andstrncasecmp() functions first appeared in 4.4BSD, where they were declared in<string.h>. Thus, for reasons of historical compatibility, the glibc<string.h> header file also declares these functions, if the_DEFAULT_SOURCE(or, in glibc 2.19 and earlier,_BSD_SOURCE) feature test macro is defined. The POSIX.1-2008 standard says of these functions: When theLC_CTYPEcategory of the locale being used is from the POSIX locale, these functions shall behave as if the strings had been converted to lowercase and then a byte comparison performed. Otherwise, the results are unspecified.
memcmp(3),strcmp(3),strcoll(3),string(3),strncmp(3),wcscasecmp(3),wcsncasecmp(3)
This page is part of theman-pages (Linux kernel and C library user-space interface documentation) project. Information about the project can be found at ⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report for this manual page, see ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩. This page was obtained from the tarball man-pages-6.15.tar.gz fetched from ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on 2025-08-11. If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up- to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orgLinux man-pages 6.15 2025-06-28strcasecmp(3)Pages that refer to this page:memcmp(3), strcmp(3), strcoll(3), string(3), strstr(3), strverscmp(3), strxfrm(3), wcscasecmp(3)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |