您的位置:首页 > 其它

模拟实现strlen、strcpy、strncpy、strcat、strcmp

2017-07-24 16:37 363 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐