比较字符串不区分大小写

时间:2021-05-11 00:57:34

int compareAb(const char* dst,const char* src){


unsigned char s_tolowerTable[256];
for(int i = 0; i < 256; ++i)    //初始化不分大小写的数组
    s_tolowerTable[i] = (unsigned char)tolower(i);

//不区分大小写进行比较 知道完全匹配结束 或 中途不匹配结束
for( ; *dst && *src && s_tolowerTable[(unsigned char)(*dst)] == s_tolowerTable[(unsigned char)(*src)]; ++dst, ++src)
        ;
//返回0 为匹配相等  返回其它值 匹配不相等
return s_tolowerTable[(unsigned char)(*dst)] - s_tolowerTable[(unsigned char)(*src)];
}