天天看點

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