C库函数源代码

memcpy源代码

void * memcpy(void * dst, void * src, size_t count)
{
if (nullptr == dst || nullptr == src) {
return nullptr;
}

void * ret = dst;
char* pdst = (char*)dst;
char* psrc = (char*)src;
if ((char*)pdst <= (char*)psrc || (char*)pdst >= (char*)psrc + count) {
	while (count--) {
		*pdst++ = *psrc++;
	}
}
else {
	pdst += count - 1;
	psrc += count - 1;
	while (count--) {
		*pdst-- = *psrc--;
	}
}
return ret;

}

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐