1. 函数使用
strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。
若参数s1和s2字符串相同则返回0,否则,返回非零值。
2. 具体实现源码
//STRCASECMP() - Case-insensitive strcmp.
static int strcasecmp(const char* s1, const char* s2)
{
char c1, c2;
do { c1 = *s1++; c2 = *s2++; }
while (c1 && c2 && (tolower(c1) == tolower(c2)));
return tolower(c1) - tolower(c2);
}
//STRNCASECMP() - Case-insensitive strncmp.
static int strncasecmp(const char* s1, const char* s2, size_t n)
{
char c1, c2;
if (!n) return 0;
do {
c1 = *s1++;
c2 = *s2++;
} while (--n && c1 && c2 && (tolower(c1) == tolower(c2)));
return tolower(c1) - tolower(c2);
}