memcpy 與 strncpy的區別

void   *memcpy(void   *dest,   void   *src,   unsigned   int   count);

 

1 由src所指內存區域複製count個字節到dest所指內存區域

2 src和dest所指內存區域不能重疊,函數返回指向dest的指針。

 

char   *strncpy(char   *dest,   char   *src,   int   n); 

 

1 把src所指由NULL結束的字符串的前n個字節複製到dest所指的數組中。

2 如果src的前n個字節不含NULL字符,則結果不會以NULL字符結束。   
3 如果src的長度小於n個字節,則以NULL填充dest直到複製完n個字節。   
4 src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字符串。   
    返回指向dest的指針。

 

所以對於在數據中包含零的數據只能用memcpy

發佈了48 篇原創文章 · 獲贊 3 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章