//1、不用库函数实现strlen(),返回的是不包含\0的长度
int my_strlen(const char* str)
{
int count=0;
while(*str != '\0')
{
count++;
str++;
}
return count;
}
//2、不用库函数实现strcat()
char* my_strcat(char *s1, const char *s2)
{
int s1len=my_strlen(s1);
int s2len=my_strlen(s2);
for (int i = s1len; i < s1len+s2len; i++)
{
s1[i]=s2[i-s1len];
}
return s1;
}
//3、不用库函数实现strcpy()
char* my_strcpy(char* src, char* des)
{
if(src==NULL || des == NULL)
return NULL;
for(;*src!='\0';src++)
*des++ = *src;
*des='\0';
return des;
}
//4、不用库函数实现strcmp()
int my_strcmp(char const* p, char const* q)
{
assert((*p != NULL) && (*q != NULL));
while (*p==*q)
{
if (*p == '\0')
{
return 0;
}
p++;
q++;
}
if(*p > *q)
return 1;
else
return -1;
}