函数重现系列导航
1. 函数简介
strcasecmp 函数为 C 库函数之一,用于字符串忽略字母大小写的比较。
- 原型:
int strcasecmp (const char* str1 ,const char* str2);
- 所属头文件:<string.h>
- 功能:比较
str1
指向的字符串和str2
指向的字符串。两个字符串自左向右比较每个字符的 ASCII 值大小,且忽略英文字母的大小写。- 返回:最后
str1
指向的字符减去str2
指向的字符得到的差值。
2. 函数说明
- 既然为 strcasecmp 函数的重现,那么所重现的 strcasecmp 函数的基本功能、调用方法应与原库函数保持一致。
- strcasecmp 较 strcmp 的唯一不同是忽略英文字母的大小写,其余原理相同。
- 在工程中,strcasecmp 函数一般用于判断忽略大写的两字符串是否相等。
3. 函数重现
int strcasecmp(const char* str1, const char* str2)
{
while (*str1 != '\0' && *str2 != '\0')
{
if (*str1 != *str2)
{
if (((*str1 > 'a' || *str1 < 'z') && (*str1 - *str2 == 'a' - 'A')) ||
((*str1 > 'A' || *str1 < 'Z') && (*str2 - *str1 == 'a' - 'A')))
{
str1++;
str2++;
}
else
{
break;
}
}
else
{
str1++;
str2++;
}
}
return *str1 - *str2;
}