博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

帅得不敢出门

热爱c++ 博客文章多为转载(帖子后面有带原文链接的)以做收藏 若有误处 望多多赐教
   stupidpig.cublog.cn
关于作者  
姓名:帅得不敢出门
职业:学生
年龄:23
位置:福州
C++群:24372952  3503799
个性介绍:交朋会友

我的分类  




memmove ( )【C语言库函数源代码】

C语言库函数源代码】

【本程序在Dev C++ 4.9.9.2 下编译通过】

/*

   memmove() copies a source memory buffer to a destination memory buffer.This routine recognize overlapping buffers to avoid propogation.For cases where propagation is not a problem, memcpy() can be used.

   memmove()由src所指定的内存区域赋值count个字符到dst所指定的内存区域。src和dst所指内存区域可以重叠,但复制后src的内容会被更改。函数返回指向dst的指针。

*/

void * my_memmove(void * dst,const void * src,int count)

{

   void * ret = dst;

   if (dst <= src || (char *)dst >= ((char *)src + count))

   {

      while (count--)

      {

        *(char *)dst = *(char *)src;

            dst = (char *)dst + 1;

            src = (char *)src + 1;

        }

   }

   else

   {

      dst = (char *)dst + count - 1;

      src = (char *)src + count - 1;

      while (count--)

      {

        *(char *)dst = *(char *)src;

        dst = (char *)dst - 1;

        src = (char *)src - 1;

      }

   }

   return(ret);

}

int main()

{

   char a[12];

   puts((char *)my_memmove(a,"ammana_babi",16));

   system("pause");

   return 0;

}

 原文地址 http://blog.csdn.net/ammana_babi/archive/2006/11/25/1413520.aspx
 发表于: 2008-05-31,修改于: 2008-05-31 15:33 已浏览295次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.02188

京ICP证041476号