一、memcpy函数的内部实现
1 void *memcpy(void *dst, const void *src, size_t _Size)
2 {
3 assert(dst != NULL && src != NULL); //判断指针是否为空
4
5 char *pDst = (char *)dst; //转换为char型指针
6 char *pSrc = (char *)src; //转换为char型指针
7
8 while(_Size--) //拷贝_Size个字节
9 {
10 *pDst++ = *pSrc++;
11 }
12
13 return dst; //返回目标内存的首地址
14 }
二、strcpy函数的内部实现
1 char *strcpy(char *dst, const char *src)
2 {
3 assert(dst != NULL && src != NULL); //判断指针是否为空
4
5 char *address = dst; //记录目标字符串首地址
6
7 while((*dst++ = *src++) != '\0'); //字符拷贝且拷贝'\0'
8
9 return address; //返回目标字符串首地址
10 }
注意:使用的时候需要添加头文件#include
原文链接: https://www.cnblogs.com/Dreamcaihao/archive/2013/05/21/3091468.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/89354
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!