strcat 的自我延伸实现(strncat)!!

    前两天上课的时候我们老师给我们讲了strcat的自我实现,当时听着很复杂,不过后来老师又把它布置成了作业。今天写完作业后,我有一种醍醐灌顶的感觉。估计老师的用意就在此了。

    下面我将写出我自己实现strcat的代码,并且这个要追加的字符长度是由自己控制的。

听起来还不错,是不是。。。(*^__^*) 嘻嘻……

#include<stdio.h>

#include<assert.h>


char *my_strncat(char *dest, const char *src, unsigned int n)

{

assert(dest);

assert(src);

char *ret = src;//标记src的首地址,是因为src在下面要参与运算

while (*dest)

{

dest++;

}

while (n)//你想追加的字符串长度

{

*dest++ = *src++;

n--;

}

*dest = '\0';

return ret;



}


int main()

{

char p1[20] = "hello";

char p2[20] = "world";

int n = 0;

scanf("%d",&n);

char *ret = my_strncat(p1, p2, n);

printf("%s\n",p1);

system("pause");

return 0;

}


   值得注意的是,我们在传参的时候,因为p2不会发生变化,所以我们要用const对p2字符串进行保护。使用CONST在一定程度上可以提高程序的安全性和可靠性,另外,在别人观看代码的时候,清晰理解CONST所起的作用,对理解对方的程序也有一些帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值