strcpy,memcpy和memset的區別

2021-09-11 02:33:26 字數 570 閱讀 7546

strcpy函式的原型:char* strcpy(char* dest, const char* src);

memcpy函式的原型:void *memcpy( void *dest, const void *src, size_t count );

memset函式的原型:memset(void *s, int ch,size_t n);

strcpy,memcpy和memset主要有以下三點區別:

a.複製內容不同,strcpy只能複製字串,而memcpy可以複製任一內容,比如整形、結構體等。所以在複製字串時會用strcpy(因為效率原因),而複製其他型別資料一般會用memcpy。

b.從引數可以看出複製方法也不盡相同。strcpy不需要指定特定長度,遇到「\0」才會結束,所以使用不當容易造成溢位。memcpy則是根據第三個引數決定複製長度。

c.將s中當前位置後面的n個位元組用 ch 替換並返回 s,作用是在一段記憶體塊中填充某個給定的值,它是對較大的結構體或陣列進行清零的一種快速操作。

strcpy memcpy和memset之間的區別

今天刷題時遇到了這個問題,記錄一下。strcpy比較簡單,就是拷貝字串,遇到 0 時結束拷貝。memcpy用來做記憶體拷貝,可以拷貝任何資料型別的物件並指定拷貝資料的長度 char a 100 b 50 memcpy b,a,sizeof b 總結一下 strcpy和memcpy主要有以下3方面的區...

strcpy memcpy和memset之間的區別

strcpy比較簡單,就是拷貝字串,遇到 0 時結束拷貝。memcpy用來做記憶體拷貝,可以拷貝任何資料型別的物件並指定拷貝資料的長度 char a 100 b 50 memcpy b,a,sizeof b 總結一下 strcpy和memcpy主要有以下3方面的區別。複製的內容不同。strcpy只能...

記憶體重疊strcpy memcpy

詳細參考 詳細參考 已知strcpy函式的原型是 char strcpy char dst,const char src 實現strcpy函式 解釋為什麼要返回char 假如考慮dst和src記憶體重疊的情況,strcpy該怎麼實現 2.strcpy函式的形式 char strcpy char st...