当前位置: 代码迷 >> 综合 >> void* memcpy(void* src, void* dest, size_t len)转载
  详细解决方案

void* memcpy(void* src, void* dest, size_t len)转载

热度:80   发布时间:2023-12-11 20:42:13.0

void* memcpy(void* src, void* dest, size_t len)

C++ 专栏收录该内容
8 篇文章 0 订阅
订阅专栏

关键重点考虑:防止dest 地址和 src 地址 重合

  • 按字节(Byte)拷贝实现的memcpy
void *my_memcpy_byte(void *dst, const void *src, int n)
{if (dst == NULL || src == NULL || n <= 0)return NULL;char * pdst = (char *)dst;char * psrc = (char *)src;if (pdst > psrc && pdst < psrc + n){pdst = pdst + n - 1;psrc = psrc + n - 1;while (n--)*pdst-- = *psrc--;}else {while (n--)*pdst++ = *psrc++;}return dst;
}
  相关解决方案