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