首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

!自定义一个字符串比较函数,自定义的字符串比较函数,不分大小写,一律转换成小写后再比较

2012-05-24 
求助!自定义一个字符串比较函数,自定义的字符串比较函数,不分大小写,一律转换成小写后再比较RT, 就是实现s

求助!自定义一个字符串比较函数,自定义的字符串比较函数,不分大小写,一律转换成小写后再比较
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短
}

[解决办法]

C/C++ code
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;} 

热点排行