函数
<cstring>

memmove

void * memmove ( void * destination, const void * source, size_t num );
移动内存块
source 指向的位置的 num 字节内容复制到 destination 指向的内存块。复制过程如同使用了中间缓冲区,允许 destinationsource 重叠。

此函数不关心 sourcedestination 指针指向对象的底层类型;结果是数据的二进制复制。

该函数不检查 source 中的任何终止空字符——它总是复制 num 字节。

为避免溢出,destinationsource 指针所指向的数组大小应至少为 num 字节。

参数

destination
指向要复制内容的 destination 数组的指针,已强制转换为类型为void*.
source
指向要复制数据的 source 的指针,已强制转换为类型为const void*.
num
要复制的字节数。
size_t 是一个无符号整数类型。

返回值

返回 destination

示例

1
2
3
4
5
6
7
8
9
10
11
/* memmove example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "memmove can be very useful......";
  memmove (str+20,str+15,11);
  puts (str);
  return 0;
}

输出

memmove can be very very useful.


另见