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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。