memcpy與strcpy的區別

2021-08-14 12:32:02 字數 937 閱讀 6331

原型:

void*memcpy(void*memto,constvoid*memfrom,size_tsize)

char *strcpy(char *dst,const

char *src);

相同點:

1、strcpy與memcpy都可以實現拷貝的功能

不同點:

1、複製的內容不同。strcpy只能複製字串,而memcpy可以複製任意內容,例如字元陣列、整型、結構體、類等。

2、複製的方法不同。strcpy不需要指定長度,它遇到被複製字元的串結束符"\0"才結束,所以容易溢位。memcpy則是根據其第3個引數決定複製的長度。

3、用途不同。通常在複製字串時用strcpy,而需要複製其他型別資料時則一般用memcpy

4、實現功能不同,strcpy主要實現字串變數間的拷貝,memcpy主要是記憶體塊間的拷貝。

5、操作物件不同,strcpy的操作物件是字串,memcpy 的操作物件是記憶體位址,並不限於何種資料型別。

6、執行效率不同,memcpy最高,strcpy次之。

下面舉例說明不同點的第二條:

char* dst = new char[100];

char* src = "abc\0def";

strcpy(dst,src);

std::cout << "dst記憶體中的第五個位元組表示的字元為: "<< dst[4] <

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 ...