C庫函數(shù) void *memmove(void *str1, const void *str2, size_t n) 拷貝n個字符str2 到 str1,但重疊的內(nèi)存塊,memmove函數(shù)() 比memcpy() 函數(shù)是一個更安全的方法。
以下是聲明 memmove() 函數(shù)。
void *memmove(void *str1, const void *str2, size_t n)
str1 -- 這是指針數(shù)組,其中的內(nèi)容將被復制到目標,類型強制轉(zhuǎn)換為void*類型的指針。
str2 -- 這是要復制的數(shù)據(jù)源的指針,void*類型的指針型鑄造。
n -- 這是要被復制的字節(jié)數(shù)。
這個函數(shù)返回一個指針到目的地,這是str1的
下面的例子演示了如何使用 memmove()函數(shù)。
#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); }
讓我們編譯和運行上面的程序,這將產(chǎn)生以下結(jié)果:
Before memmove dest = oldstring, src = newstring After memmove dest = newstring, src = newstring