当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


C++ memmove()用法及代码示例

C++ 中的memmove() 函数将指定字节的数据从源复制到目标。

memmove()原型

void* memmove( void* dest, const void* src,size_t count );

memmove() 函数接受三个参数:dest、src 和 count。当调用memmove()函数时,它会将count字节从src指向的内存位置复制到dest指向的内存位置。

即使 src 和 dest 指针重叠,也会执行复制。这是因为复制就像创建一个中间缓冲区一样,数据首先从 src 复制到该缓冲区,然后最终复制到 dest。

它在<cstring> 头文件中定义。

参数:

  • dest:指向内容复制到的内存位置的指针
  • src :指向从中复制内容的内存位置的指针。
  • count:从 src 复制到 dest 的字节数。

返回:

memmove() 函数返回 dest,即指向目标内存位置的指针。

示例:memmove() 函数的工作原理

#include <cstring>
#include <iostream>

using namespace std;

int main()
{
    int arr[10] = {8,3,11,61,-22,7,-6,2,13,47};
    int *new_arr = &arr[5];

    memmove(new_arr,arr,sizeof(int)*5);

    cout << "After copying" << endl;
    for (int i=0; i<10; i++)
        cout << arr[i] << endl;
    return 0;

}

运行程序时,输出将是:

After copying 8 3 11 61 -22 8 3 11 61 -22

相关用法


注:本文由纯净天空筛选整理自 C++ memmove()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。