memcpy 與strcpy 的區別及用法

2021-09-18 01:57:45 字數 1056 閱讀 3310

標頭檔案:#include

memcpy() 用來複製記憶體,其原型為:

void * memcpy ( void * dest, const void * src, size_t num );

memcpy() 會複製 src 所指的記憶體內容的前 num 個位元組到 dest 所指的記憶體位址上。

memcpy() 並不關心被複製的資料型別,只是逐字節地進行複製,這給函式的使用帶來了很大的靈活性,可以面向任何資料型別進行複製。

需要注意的是:

標頭檔案:#include

strcpy() 函式用來複製字串,其原型為:

char *strcpy(char *dest, const char *src);

【引數】dest 為目標字串指標,src 為源字串指標。

注意:src 和 dest 所指的記憶體區域不能重疊,且 dest 必須有足夠的空間放置 src 所包含的字串(包含結束符null)。

【返回值】成功執行後返回目標陣列指標 dest。

strcpy() 把src所指的由null結束的字串複製到dest 所指的陣列中,返回指向 dest 字串的起始位址。

注意:如果引數 dest 所指的記憶體空間不夠大,可能會造成緩衝溢位(buffer overflow)的錯誤情況,在編寫程式時請特別留意,或者用strncpy()來取代。

例項:#include

#include

using namespace std;

int main()

;char b[6];

strcpy(b,a);

cout<#include

#include

using namespace std;

int main()

;cout

memcpy(b,a,sizeof(a));

for(int i=0;i<6;i++)

cout

}

//任何資料

strcpy與memcpy的區別。

strcpy與memcpy的區別。考點 字串複製與記憶體複製之間的區別。出現頻率 解析strcpy和memcpy主要有以下3方面的區別。複製的內容不同。strcpy只能複製字串,而memcpy可以複製任意內容,例如字元陣列 整型 結構體 類等。複製的方法不同。strcpy不需要指定長度,它遇到字串結...

strcpy 與 memcpy的區別

strcpy和memcpy都是標準c庫函式,它們有下面的特點。strcpy提供了字串的複製。即strcpy只用於字串複製,並且它不僅複製字串內容之外,還會複製字串的結束符。已知strcpy函式的原型是 char strcpy char dest,const char src memcpy提供了一般記...

strcpy與memcpy的區別

原文 includeusing namespace std char strcpy char strdest,const char strsrc 實現strsrc到strdest的複製 char strdestcopy strdest 儲存目標字串的首位址 while strdest strsrc ...