您的位置:首页 > 编程语言 > C语言/C++

【C深度剖析】自实现 strcmp strlen strcpy strcat

2017-09-16 00:06 513 查看
int str_cmp(const char *s1,const char *s2)
{
int ret;
while(!(ret = *(unsigned char *)s1 - *(unsigned char *)s2) && s2++)
s1++,s2++;
if(ret > 0)
ret = 1;
else if(ret <0)
ret = -1;

return ret;
}

int str_len(const char *s)
{
assert(s != 0);
char *start = s;
while(*s++);
return (s - start - 1);
}

char* str_cpy(char *dest,char *src)
{
assert( (dest != 0) && (src != 0));
char* ret = dest;
while(*src)
*dest++ = *src++;
*dest = '\0';
return ret;
}

char* str_cat(char *dest,char *src)
{
assert((dest != 0) && (src != 0));
char *ret = dest;
while(*dest)
dest++;
while(*src)
*dest++ = *src++;
*dest = '\0';
return ret;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐