static void change(char *pch)
{
if (*pch >= 'A' && *pch <= 'Z')
{
*pch += 32;
}
}
int mystrncmp(const char*_Str1,const char*_Str2,size_t _MaxCount)
{
char *pstr1 = _Str1;
char ch1;
ch1 =* _Str1;
change(&ch1);
char ch2;
ch2 =* _Str2;
change(&ch2);
int i = 0;
while (ch1==ch2&&*_Str1!='\0'&&i<_MaxCount)
{
_Str1++;
_Str2++;
i++;
ch1 = *_Str1;
change(&ch1);
ch2 = *_Str2;
change(&ch2);
}
if (i==_MaxCount)
{
return 0;
}
else
{
int length = strlen(pstr1);
if (length>=_MaxCount)
{
if (ch1 - ch2 > 0)
{
return 1;
}
else
{
return -1;
}
}
else
{
if (*_Str1 == '\0'&&*_Str1 == '\0')
{
return 0;
}
else
{
if (ch1 - ch2 > 0)
{
return 1;
}
else
{
return -1;
}
}
}
}
}
void main4()
{
char str1[14] = "A123A12";
char str2[14] = "a123A12";
printf("%d\n", mystrncmp(str1, str2, 8));
system("pause");
}
void main()
{
char str1[30] = "hello rocket hello zhouruifu";
char str2[30] = "hello rockeT hello abc";
printf("%d\n", strncmp(str1, str2, 18));
printf("%d\n", _strnicmp(str1, str2, 16));//忽略大小写
system("pause");
}
更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。
关于公众号的描述访问如下链接