不用标准库实现memmove,借助一个缓冲区temp,即使src和dest所指的内存有重叠也能正确拷贝

void *mymemmove(void *dest,const void *src,size_t count)

{

  char temp[count];

  int i;

  char *d=(char *)dest;

  const char *s=(char *)src;

  for(i=0;i<count;i++)

    temp[i]=s[i];

  for(i=0;i<count;i++)

    d[i]=temp[i];

  return dest;

}

posted @ 2016-04-05 16:04  独孤流  阅读(197)  评论(0编辑  收藏  举报