原创

基础知识之strcpy、strcmp、strcat

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://shazhenyu.blog.csdn.net/article/details/69951047

//注意,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;//为了实现链式操作,将目的地址返回

}

文章最后发布于: 2017-04-10 16:53:28
展开阅读全文

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

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

分享到微信朋友圈

×

扫一扫,手机浏览