淡泊明志 宁静致远
分类: C/C++
2006-11-23 15:13:37
【C语言库函数源代码】
【本程序在Dev C++ 4.9.9.2 下编译通过】
/*
STRCMP compares two strings and returns an
integer
to indicate whether the first is less than
the second,
the two are equal, or whether the first is
greater than the second.
Comparison is done byte by byte on an
UNSIGNED basis,
which is to say that Null (0) is less than
any other character (1-255).
字符串比较函数,比较字符串source和dest。当源字符串大于目标字符串的时候,返回1;
当源字符串等于目标字符串的时候,返回0。当源字符串小于目标字符串的时候,返回-1;
*/
int my_strcmp(const char *source,const char *dest)
{
int ret = 0 ;
while( ! (ret
= *( unsigned char
*)source - *(unsigned char
*)dest) && *dest)
source++, dest++;
if ( ret <
0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return(ret);
}
void Print(char * str1,char *str2,int t)
{
if(t == 0)
printf("\n%s Equal
%s\n",str1,str2);
else if(t == 1)
printf("\n%s Upper Than
%s\n",str1,str2);
else if(t == -1)
printf("\n%s Lower Than
%s\n",str1,str2);
}
int main()
{
char *str1=
"ammana";
char *str2 =
"babi";
Print(str1,str2,my_strcmp(str1,str2));
Print(str2,str1,my_strcmp(str2,str1));
Print(str2,str2,my_strcmp(str2,str2));
system("pause");
return 0;
}