#include<stdio.h>
#include<stdlib.h>
typedef unsigned int uint;
void* my_memmove(void* p,const void* q,uint len)
{
void*ret=p;
char* p1=(char*)p;
char* q2=(char*)q;
if((p1>q2)&&(p1<q2+len))
{
while(len--)
{
*(p1+len-1)=*(q2+len-1);
}
}
else
{
while(len--)
{
*p1=*q2;
p1++;
q2++;
}
}
return ret;
}
int main()
{
char s[]="abced";
my_memmove(s+3,s+2,3*sizeof(char));
printf("%s",s);
system("pause");
return 0;
}
本文出自 “liveyoung” 博客,转载请与作者联系!