基础知识之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;//为了实现链式操作,将目的地址返回

}

©️2020 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值