Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1396203
  • 博文数量: 143
  • 博客积分: 10005
  • 博客等级: 上将
  • 技术积分: 1535
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-23 17:25
个人简介

淡泊明志 宁静致远

文章分类

全部博文(143)

文章存档

2011年(2)

2009年(1)

2007年(22)

2006年(118)

我的朋友

分类: C/C++

2006-11-25 10:21:44

C语言库函数源代码】

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

/*

   memcpy() copies a source memory buffer to a destination memory buffer. This routine does NOT recognize overlapping buffers, and thus can lead to propogation.For cases where propagation must be avoided, memmove() must be used.

   memcpy()由src指定内存区域拷贝count个字符到dst所指定的内存区域。src和dst内存区域不能重叠,函数返回指向dst的指针。

*/

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

{

   void * ret = dst;

   while (count--)

   {

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

      dst = (char *)dst + 1;

      src = (char *)src + 1;

   }

   return(ret);

}

int main()

{

   char a[12];

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

   system("pause");

   return 0;

}

阅读(5334) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-03-09 16:16:20

如果count=0不用拷贝了,采用char 八个bit进行拷贝太慢了,现在计算机是32位的。还有很多内存对齐的问题。 看操作系统源码