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()用法及代码示例
- C++ memset()用法及代码示例
- C++ memchr()用法及代码示例
- C++ memcpy()用法及代码示例
- C++ memcmp()用法及代码示例
- C++ merge()用法及代码示例
- C++ map lower_bound()用法及代码示例
- C++ multimap key_comp()用法及代码示例
- C++ multimap empty()用法及代码示例
- C++ multimap cend()用法及代码示例
- C++ multiset begin()、end()用法及代码示例
- C++ mbtowc()用法及代码示例
- C++ map::at()用法及代码示例
- C++ multiset value_comp()用法及代码示例
- C++ multimap insert()用法及代码示例
- C++ map max_size()用法及代码示例
- C++ multiset emplace()用法及代码示例
- C++ multiset lower_bound()用法及代码示例
- C++ multimap lower_bound()用法及代码示例
- C++ multiset crbegin()、crend()用法及代码示例
注:本文由纯净天空筛选整理自 C++ memmove()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。