int strcasecmp(const char *s1, const char *s2);
int strncasecmp(const char *s1, const char *s2, size_t n);
The strncasecmp function compares, while ignoring differences in case, not more than n bytes from the string pointed to by s1 to the string pointed to by s2.
These functions assume the ASCII character set when equating lower and upper case characters. In the POSIX locale, strcasecmp and strncasecmp do upper to lower conversions, then a byte comparison.
These functions operate on null-terminated strings. They do not check for overflow of any receiving string.
Upon successful completion, strncasecmp returns an integer greater than, equal to, or less than 0, if the possibly null-terminated array pointed to by s1 is, ignoring case, greater than, equal to or less than the possibly null-terminated array pointed to by s2 respectively.