memmove.c.svn-base

来自「纯C数据结构」· SVN-BASE 代码 · 共 26 行

SVN-BASE
26
字号
#include <string.h>/* memmove is defined here because some vendors don't provide it at   all and others do a terrible job (like calling malloc) */void * memmove(void *dp, const void *sp, size_t n) {	unsigned char *cdp;	const unsigned char *csp;	if (n<=0)		return 0;	cdp = dp;	csp = sp;	if (cdp < csp) {		do {			*cdp++ = *csp++;		} while (--n);	} else {		cdp += n;		csp += n;		do {			*--cdp = *--csp;		} while (--n);	}	return 0;}

⌨️ 快捷键说明

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