原型:
void
*
memcpy
(
void
*memto,
const
void
*memfrom,
size_t
size)
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 ...