//比较字符串大小
//"abc"<"x" ;"abc"=="abc","abc">"abb"
// <0 , 0 ,>0
int Mystrcmp(const char* str1, const char* str2)
{
assert(str1 != NULL && str2 != NULL);
if (str1 == NULL || str2 == NULL)
{
return 0;
}
int tmp;//保存两个字符相减的差值
while ((tmp = *str1 - *str2) == 0 && *str1 != '\0')
{
str1++;
str2++;
}
return tmp;
}
//字符串链接 "abc","xyz"->"abcxyz"
char* Mystrcat(char* des, const char* src)
{
assert(des != NULL && src != NULL);
if (NULL == des || NULL == src)
{
return NULL;
}
char* dest = des;
while (*des != '\0')
{
des++;
}
while (*des++ = *src++);
return dest;
}
void Mystrcpy(char* des, const char* src)
{
assert(des != NULL && src != NULL);
if (des == NULL || src == NULL)
return;
while (*des++ = *src++);//注意要加分号 空语句
}
int Mystrlen(const char* str)//求字符长度不带\0
{
assert(str != NULL);
if (str == NULL)
return -1;
int len;
while (*str++ != '\0')
{
len++;
}
return len;
}
strcpy,strlen,strcat,strcmp的c语言实现
最新推荐文章于 2024-08-14 10:10:35 发布