memmove.c
来自「一组基础的C库的实现」· C语言 代码 · 共 56 行
C
56 行
/* $Id: memmove.c 262 2006-11-16 07:34:57Z solar $ *//* Release $Name$ *//* memmove( void *, const void *, size_t ) This file is part of the Public Domain C Library (PDCLib). Permission is granted to use, modify, and / or redistribute at will.*/#include <string.h>#ifndef REGTESTvoid * memmove( void * s1, const void * s2, size_t n ){ char * dest = (char *) s1; const char * src = (const char *) s2; if ( dest <= src ) { while ( n-- ) { *dest++ = *src++; } } else { src += n; dest += n; while ( n-- ) { *--dest = *--src; } } return s1;}#endif#ifdef TEST#include <_PDCLIB_test.h>int main(){ char s[] = "xxxxabcde"; BEGIN_TESTS; TESTCASE( memmove( s, s + 4, 5 ) == s ); TESTCASE( s[0] == 'a' ); TESTCASE( s[4] == 'e' ); TESTCASE( s[5] == 'b' ); TESTCASE( memmove( s + 4, s, 5 ) == s + 4 ); TESTCASE( s[4] == 'a' ); return TEST_RESULTS;}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?