今天用到了memcpy()库函数,然后自己实现了一个结合源码应该是这样的
void *memmove(void *dest, const void *src, size_t count) {assert((NULL != dest) && (NULL != src) && (count > 0));char *pdest = (char *)dest;const char *psrc = (const char *)src;if (psrc > pdest) {while (count--) {*pdest++ = *psrc++;}} else if (psrc < pdest) {psrc += (count-1);pdest += (count-1);while (count--) {*pdest-- = *psrc--;}}return dest;
}
是否还有更好的办法,请大师指点?