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 + -
显示快捷键?