内存拷贝实现
void* _memove(void* dest,const void*src,size_t count) { assert((dest != NULL) && (src != NULL)); assert(count>0); char* psrc = (char*)src; char* pdest = (char*)dest; //检查是否有重叠问题 if(pdest < psrc) { //正向拷贝 while(count--) *pdest++ = *psrc++; } else if(psrc < pdest) { //反向拷贝 psrc = psrc + count; pdest = pdest + count; while(count--) *pdest-- = *psrc--; } return dest; } void* _memcpy(void* dest,const void* src,size_t count) { assert((dest != NULL) && (src != NULL)); assert(count > 0); char* psrc = (char*)src; char* pdest = (char*)dest; while(count --) *pdest++ = *psrc++; return dest; }
本博客内容均来自网络,如有雷同,是我抄袭!