求助!自定义一个字符串比较函数,自定义的字符串比较函数,不分大小写,一律转换成小写后再比较
RT, 就是实现stricmp的功能
就是填下面这一个
int stricmp(char * str1, char * str2)//自定义的字符串比较函数,不分大小写,一律转换成小写后再比较
{
char t1, t2;
char diff = 'a' - 'A';
int i = 0;
while(str1[i] && str2[i])
{
//写下你的代码
}
if(str1[i] == str2[i]) return 0;
else if(str1[i] == 0) return -1;//str1短,str2长
else if(str2[i] == 0) return 1;//str1长,str2短
}
[解决办法]
int my_stricmp(const char * str1, const char * str2) //自定义的字符串比较函数,不分大小写,一律转换成小写后再比较{ char diff = 'a' - 'A'; int i = 0; while(str1[i] && str2[i]) { //写下你的代码 #define ISALPHA(x) (('a' <= (x) && (x) <= 'z') || ('A' <= (x) && (x) <= 'Z')) if (str1[i] != str2[i] && ((!(ISALPHA(str1[i])) || !(ISALPHA(str2[i]))) || ((str1[i] - str2[i] != diff) && (str1[i] - str2[i] != -diff)))) { break; } ++i; } if(str1[i] == str2[i]) return 0; else return ((unsigned char)str1[i] - (unsigned char)str2[i]) > 0 ? 1 : -1;}