实现memove

原创 2016年08月30日 13:54:13


void *memmoves(void *dest, const void *src, size_t count)
{
        char *tmp_dst = NULL;
        const char *tmp_src = NULL;

        if (dest <= src) 
		{
			tmp_dst = dest;
			tmp_src = src;
			
			while (count--)
			{
				*tmp_dst++ = *tmp_src++;
			}
        } 
		else 
		{
			tmp_dst = dest;
			tmp_dst += count;
			
			tmp_src = src;
			tmp_src += count;
			
			while (count--)
			{
				*--tmp_dst = *--tmp_src;
			}        
        }
		
        return dest;
}







版权声明:原创文章,转载请注明出处。

memove 的实现

补充下面函数代码:  如果两段内存重叠,用memcpy函数可能会导致行为未定义。 而memmove函数能够避免这种问题,下面是一种实现方式,请补充代码。 1 2 3 4 5 6...
  • chengonghao
  • chengonghao
  • 2016年07月17日 17:24
  • 405

C语言:模拟实现memmove函数,memove与memcpy之间的相同与区别

讨论memcpy与memmove函数,并模拟实现memcpy,memmove函数
  • sinat_36101354
  • sinat_36101354
  • 2017年03月29日 23:30
  • 241

仰视源码,实现memmove

在我之前博客中写过一个内存复制函数memcopy(http://blog.csdn.net/z702143700/article/details/46628149),是根据源码修改而来,但是这个函数包...
  • z702143700
  • z702143700
  • 2015年07月28日 16:45
  • 2756

【C语言】 实现memmove

内存重叠拷贝函数memmove: 用于从src拷贝count个字符到dest,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。但复制后src内容...
  • wbq1480
  • wbq1480
  • 2016年05月26日 12:25
  • 634

memove和memcpy源码实现

void* memcpy(void* dest, void* source, size_t count) { void* ret = dest; //copy ...
  • dongyu_1989
  • dongyu_1989
  • 2018年01月21日 18:46
  • 37

模拟实现memcpy和memove

memcpy首先我们应该知道memcpy有什么作用,他是一个内存拷贝函数,函数原型如下:void * memcpy ( void * destination, const void * source,...
  • chan0311
  • chan0311
  • 2017年08月24日 18:43
  • 124

linux系统库函数之memmove

573 #ifndef __HAVE_ARCH_MEMMOVE 574 /** 575  * memmove - Copy one area of memory to another 576  ...
  • mcgrady_tracy
  • mcgrady_tracy
  • 2012年03月20日 13:46
  • 1965

memmove()

memcpy()只是memmove()的一个子集 memcpy()在执行内存重叠的情况下时,就会发生错误,而memmove()不会 void *memmove(void *dest, const ...
  • zgaoq
  • zgaoq
  • 2017年01月17日 19:48
  • 114

memcpy 与 memmove

memcpy:C和C++当中使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。   函数原型 void* me...
  • djb100316878
  • djb100316878
  • 2014年12月07日 20:24
  • 994

关于memcpy、memove的故事

关于memcpy和memmove的故事很多,但相关的主要有一下几个方面: 1、memcpy和memmove的差别:memcpy当地址出现重叠时,操作的效果是未定义的,而memmove则处理了这种情况...
  • bertzhang
  • bertzhang
  • 2012年02月29日 12:18
  • 1055
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现memove
举报原因:
原因补充:

(最多只允许输入30个字)