面試題 strcpy和memcpy的區別

2021-10-02 21:46:56 字數 503 閱讀 9243

strcpy和memcpy都是標準c庫函式,它們有下面的特點:

strcpy函式實現:

char * strcpy(char * dest, const char * src) // 實現src到dest的複製

char *strdest = dest; //儲存目標字串的首位址

while ((*strdest++ = *strsrc++)!='\0'); //把src字串的內容複製到dest下

return strdest;

}

memcpy函式實現:

void *memcpy(void *memto, const void *memfrom, size_t size)

strcpy和memcpy主要有以下3方面的區別。

關於strcpy和strncpy的面試題

1.首先兩個函式的引數不同,所以功能不是完全相同。strncpy 比strcpy 多乙個引數n,表示拷貝前n個字元。而strcpy 則是拷貝全部字元。2.因為strncpy中有引數n的存在,所以它只負責複製前n個字元,沒複製字串結尾的標記 0 strcpy 則複製了 0 3.兩者的錯誤處理,當str...

面試題 自己實現strcpy 函式

經常看到需要自己實現字串拷貝函式,網上也有很多博文,但是很多實現都是忽略了一些問題。具體看 分析。include include using namespace std 這個寫法是比較常見的寫法,但是這樣處理記憶體重疊情況會崩潰 char mystrcpy char des,const char s...

strcpy面試題的解析和注意事項

已知strcpy函式的原型是 char strcpy char strdest,const char strsrc 1.不呼叫庫函式,實現strcpy函式。2.解釋為什麼要返回char 1.strcpy的實現 char strcpy char strdest,const char strsrc if...