memmove.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 36 行

C
36
字号
#include	<u.h>#include	<libc.h>void*memmove(void *a1, void *a2, ulong n){	char *s1, *s2;	if((long)n < 0)		abort();	s1 = a1;	s2 = a2;	if((s2 < s1) && (s2+n > s1))		goto back;	while(n > 0) {		*s1++ = *s2++;		n--;	}	return a1;back:	s1 += n;	s2 += n;	while(n > 0) {		*--s1 = *--s2;		n--;	}	return a1;}void*memcpy(void *a1, void *a2, ulong n){	return memmove(a1, a2, n);}

⌨️ 快捷键说明

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