C语言库函数学习【string.h】之strcmp_(const char * str1,const char * str2)

C语言库函数学习【string.h】之strcmp_(const char * str1,const char * str2)

代码如下:

 

 

#include<stdio.h>
/*
函数功能:比较字符串str1 and str2
参数描述:
str1:字符串
str2:字符串
返回值:str1小于str2返回-1
str1等于str2返回
str1大于str2返回
*/
int strcmp_(const char * str1,const char * str2)
{
if(NULL == str1 || NULL == str2)
return 0;
int ret=0;
/*
转化为unsigned char 是为了防止溢出
例如(char)0x7f-(char)0x80=255, (unsigned char)0x7f-(unsigned char)0x80=-1
*/
while( *str1 && ! (ret = *(unsigned char *)str1- *(unsigned char *)str2))
{
str1
++;
str2
++;
}
if( ret<0)
ret
=-1;
else if(ret>0)
ret
=1;
return ret;

}

 


 

 

posted @ 2010-04-27 17:46  达闻东  阅读(617)  评论(0编辑  收藏  举报