int my_strlen(const char* str)
{
assert(str);
int count = 0;
while (*str++)
{
count++;
}
return count;
}
char* my_strspy(char* dst, const char* src)
{
assert(dst);
assert(src);
char* ret = dst;
while (*dst++ = *src++);
return ret;
}
char* my_strncpy(char* dst, const char* src, int n)
{
assert(dst);
assert(src);
char* ret = dst;
while (n--)
{
*dst++ = *src++;
}
if (*(dst-1) != '\0')
{
*dst = '\0';
}
return ret;
}
int my_strcmp(char* str1, char* str2)
{
assert(str1);
assert(str2);
while (*str1 == *str2)
{
if (*str1 == '\0' || *str2 == '\0')
{
return 0;
}
str1++;
str2++;
}
return *str1 - *str2;
}
char* my_strcat(char* dst, const char* src)
{
assert(dst);
assert(src);
char* ret = dst;
while (*dst)
{
*dst++;
}
while (*dst++ = *src++);
return ret;
}
模拟实现strlen、strcpy、strncpy、strcat、strcmp
最新推荐文章于 2023-03-10 21:52:26 发布