<>strcpy 覆盖拷贝

*
被拷贝的字符串必须以’\0’结束。

*
目标空间要足够大,至少要能放的下拷贝的东西。

*
目标空间的值是可以修改,比如常量区的字符串,不能够修改,就不能使用。

*
会将被拷贝的字符串中的’\0’拷贝到目标空间。

*
函数实现。
方法一
char* my_strcpy(char* dst, const char* src) { const ret = dst; while (*src) {
*dst = *src; dst++; src++; } *dst = '\0'; return ret; }
   ret记录字符串的首地址,将函数的返回值设置成为一个char*,是为了在调用函数的时候可以像my_strcpy(str1,
my_strcpy(str1, p1));这样嵌套,由于strcpy拷贝是拷贝’\0’的,因此在最后,我们需要吧*dst最后所指向的内容改为’\0’。
方法二
char* my_strcpy(char* dst, const char* src) { const ret = dst;
//先赋值,再判断,只要不是\0,代码就继续 while (*dst++ = *src++); return ret; }
  方法二就相对方法一进行了简化,采用前置++的方式,前置++的优先级高于*,因此没循环一次,指针向后移一下,再将src的值赋给dst。

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信