#include<stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
void * Memmove(void * dest, const void * src, size_t num)//size_t num 是字节
{
assert(dest != NULL);
assert(src != NULL);
char* p1 = (char*)dest;
const char* p2 = (const char*)src;
if (dest >= src&&p1 < p2 + num)
{
for (size_t i = num-1; i > 0; --i)
{
p1[i] = p2[i];
}
return dest;
}
}
int main()
{
char str[] = "memmove can be very beautiful......";
Memmove(str+20,str+15,11);
printf("%s", str);
system("pause");
return 0;
}
【C语言---24】模拟实现Memmove
最新推荐文章于 2024-02-23 14:55:00 发布