基础知识之strcpy、strcmp、strcat

//注意,assert只在debug时出现,最好用条件语句判断


//参数:des为目标字符串,src为原字符串。返回值:目标串的地址。

char * strcpy(char *dst,const char *src)  

{

    assert(dst != NULL && src != NULL);  

    char *ret = dst;

    while ((*dst++=*src++)!='\0');

    return ret;

}


//若str1==str2,则返回零; 若str1<str2,则返回负数; 若str1>str2,则返回正数。

int strcmp(const char *str1,const char *str2)

{
    while(*str1 == *str2) {

        if(*str1 == '\0') {

            return 0;
        } 

        str1++;

        str2++;
    }

    return *str1 - *str2;

}


//把strSrc所指字符串添加到strDest结尾处(覆盖strDest结尾处的'\0')。

char* strcat(char* strDest , const char* strSrc)
{
    char* address = strDest;
    
assert( (strDest!=NULL)&&(strSrc!=NULL) );//对源地址和目的地址加非0断言

    while(*strDest) {

        strDest++;
    }
    
while(*strDest++=*strSrc++) {

        NULL;
    }
    
return address;//为了实现链式操作,将目的地址返回

}

发布了260 篇原创文章 · 获赞 708 · 访问量 210万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览