strcat,strncat函数实现——string.h库函数

字符串连接函数strcat,strncat:

NAME
strcat, strncat - concatenate two strings


strcat()函数实现:


0.功能描述:

将源字符串连接到目标字符串字后。

1.原型:
#include <string.h>

char *strcat(char *dest, const char *src);
2.参数:
src:源字符串
dest:目标字符串
3.实现:
1.假装实现:
char *my_strcat(char *dest, const char *src)
{
    //定义临时指针用以指向目标字符串末尾
    char *p = NULL;

    //参数判断
    if(NULL == dest || NULL == src || src == dest){
        return NULL;
    }

    //将p指向dest字符串末尾
    p = dest + strlen(dest);
    //拷贝
    strcpy(p, src);

    return dest;
}

strlen:http://blog.csdn.net/riyadh_linux/article/details/50004435
strcpy:http://blog.csdn.net/riyadh_linux/article/details/50001885

2.实际实现:
char *my_strcat(char *dest, const char *src)
{
    //参数判断
    if(NULL == dest || NULL == src || src == dest){
        return NULL;
    }

    while('\0' != *dest){
        dest++;
    }
    while('\0' != (*dest++ = *src++)){
    //do nothing
    }

    return dest;
}

strncat函数实现:


0.功能描述:

将源字符串的前n个字符连接到目标字符串之后。

1.原型:
#include <string.h>

char *strncat(char *dest, const char *src, size_t n);
2.参数:
src:源字符串
dest:目标字符串
3.实现:
char *my_strncat(char *dest, const char *src, size_t n)
{
    //参数判断
    if(NULL == dest || NULL == src || src == dest){
        return NULL;
    }

    //找目标字符串末尾
    while('\0' != *dest){
        dest++;
    }
    //连接
    while(n-- && (*dest++ = *src++)){
    //do nothing
    }
    if(-1 == n){
        *dest = '\0';
    }

    return dest;
}

=================本文结束===============
小菜总结,如有不当,欢迎批评!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值