模拟memmove
void *my_memmove(void*dest, const void*src, size_t n)
{
assert(dest);
assert(src);
char*Pdest = (char*)dest;
const char*Psrc = (const char*)src;
if ((Pdest + n) <= Psrc)
{
while (n–)
{
*Pdest++ = *Psrc++;
}
}
else
{
while (n–)
{
(Pdest + n) = (Psrc+n);
}
}
return Pdest;
}
int main()
{
char str[50]=”asddffghh”;
int arr[] = {1,2,3,4,45,23};
char*str2 = “nihao”;
printf(“%p\n”,str);
printf(“%p\n”, str2);
memcpy(str+2,str,4);
//memmove(str+2,str,4);
//str[2] = ‘\0’;
//int ret=strcmp(str1,str1);
printf(“%s”,str);
system(“pause”);
}