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