memmove.c

来自「一个类linux的dos下开发的操作系统.」· C语言 代码 · 共 24 行

C
24
字号
#include <_size_t.h>
/*****************************************************************************
*****************************************************************************/
void *memmove(void *dst_ptr, const void *src_ptr, size_t count) /* string.h */
{
	void *ret_val = dst_ptr;
	const char *src = (const char *)src_ptr;
	char *dst = (char *)dst_ptr;

	if(dst_ptr < src_ptr)	/* copy up */
	{
		for(; count != 0; count--)
			*dst++ = *src++;
	}
	else			/* copy down */
	{
		dst += (count - 1);
		src += (count - 1);
		for(; count != 0; count--)
			*dst-- = *src--;
	}
	return ret_val;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?