當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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