位置:首頁 > 高級語言 > C語言標準庫 > memmove() - C語言庫函數

memmove() - C語言庫函數

C庫函數 void *memmove(void *str1, const void *str2, size_t n) 拷貝n個字符str2 到 str1,但重疊的內存塊,memmove函數() 比memcpy() 函數是一個更安全的方法。

聲明

以下是聲明 memmove() 函數。

void *memmove(void *str1, const void *str2, size_t n)

參數

  • str1 -- 這是指針數組,其中的內容將被複製到目標,類型強製轉換為void*類型的指針。

  • str2 -- 這是要複製的數據源的指針,void*類型的指針型鑄造。

  • n -- 這是要被複製的字節數。

返回值

這個函數返回一個指針到目的地,這是str1的

例子

下麵的例子演示了如何使用 memmove()函數。 

#include <stdio.h>
#include <string.h>

int main ()
{
   const char dest[] = "oldstring";
   const char src[]  = "newstring";

   printf("Before memmove dest = %s, src = %s
", dest, src);
   memmove(dest, src, 9);
   printf("After memmove dest = %s, src = %s
", dest, src);

   return(0);
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

Before memmove dest = oldstring, src = newstring
After memmove dest = newstring, src = newstring