memmove.c

来自「著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是」· 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();	if(a1 > a2)		goto back;	s1 = a1;	s2 = a2;	while(n > 0) {		*s1++ = *s2++;		n--;	}	return a1;back:	s1 = (char*)a1 + n;	s2 = (char*)a2 + 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 + -
显示快捷键?