700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c语言stricmp函数 stricmp ( )【C语言库函数源代码】

c语言stricmp函数 stricmp ( )【C语言库函数源代码】

时间:2019-02-20 15:18:03

相关推荐

c语言stricmp函数 stricmp ( )【C语言库函数源代码】

【C语言库函数源代码】

【本程序在Dev C++ 4.9.9.2 下编译通过】

/*

_stricmp/_strcmpi perform a case-insensitive string comparision.

For differences, upper case letters are mapped to lower case.

Thus, "abc_" < "ABCD" since "_" < "d".

字符串比较函数,比较字符串src和dst,但是不区分大小写,

大写字母会被转换为小写字母来进行比较。如:"abc_" < "ABCD" ,因为 "_" < "d"。

当源字符串大于目标字符串的时候,返回>0;当源字符串等于目标字符串的时候,返回=0。

当源字符串小于目标字符串的时候,返回<0;

*/

int my_stricmp(const char *dst, const char *src)

{

int ch1, ch2;

do

{

if ( ((ch1 = (unsigned char)(*(dst++))) >= 'A') &&(ch1 <= 'Z') )

ch1 += 0x20;

if ( ((ch2 = (unsigned char)(*(src++))) >= 'A') &&(ch2 <= 'Z') )

ch2 += 0x20;

} while ( ch1 && (ch1 == ch2) );

return(ch1 - ch2);

}

void Print(char * str1,char *str2,int t)

{

if(t > 0)

printf("/n%s Upper Than %s/n",str1,str2);

else if(t < 0)

printf("/n%s Lower Than %s/n",str1,str2);

else

printf("/n%s Equal %s/n",str1,str2);

}

int main()

{

char *str1= "ammana";

char *str2 = "babi";

char *str3 = "AMMANA";

char *str4 = "bab_";

Print(str1,str2,my_stricmp(str1,str2));

Print(str3,str1,my_stricmp(str3,str1));

Print(str4,str2,my_stricmp(str4,str2));

system("pause");

return 0;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。