當前位置:編程學習大全網 - 源碼下載 - strncpy的用法

strncpy的用法

“strncpy”的用法如下:

strncpy?是?C語言的庫函數之壹,來自 C語言標準庫,定義於?string.h,char *strncpy(char *dest, const char *src, int n),把src所指向的字符串中以src地址開始的前n個字節復制到dest所指的數組中,並返回dest。

壹、功能:

(c/c++)復制字符串src中的內容(字符,數字、漢字....)到字符串dest中,復制多少由size_t n的值決定。如果src的前n個字符不含NULL字符,則結果不會以NULL字符結束。如果n<src的長度,只是將src的前n個字符復制到dest的前n個字符,不自動添加'\0',也就是結果dest不包括'\0',需要再手動添加壹個'\0'。如果src的長度小於n個字節,則以NULL填充dest直到復制完n個字節。src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字符長度+'\0'。

二、strcpy、strncpy與memcpy的區別與使用方法:

1、memcpy函數

void?*memcpy(void *s1,? const void *s2,? size_t ?n);

說明:

函數memcpy從s2指向的對象中復制n個字符到s1指向的對象中。如果復制發生在兩個重疊的對象中,則這種行為未定義。

返回值:函數memcpy返回s1的值。

2、strcpy函數

char?*strcpy(char *s2, const char *s1);

說明:

函數strcpy把s1指向的串(包括空字符)復制到s2指向的數組中。如果復制發生在兩個重疊的對象中,則這種行為未定義。

返回值:函數strcpy返回s2的值。

3、strncpy函數

char?*strncpy(char *s2, const char *s1, size_t n);

說明:

函數strncpy從s1指向的數組中最多復制n個字符(不復制空字符後面的字符)到s2指向的數組中。如果復制發生在兩個重疊的對象中,則這種行為未定義。如果s1指向的數組是壹個比n短的字符串,則在s2定義的數組後面補空字符,直到寫入了n個字符。

  • 上一篇:王新和阿裏旺旺有什麽區別?
  • 下一篇:8個免費且功能強大的軟件,全都開源
  • copyright 2024編程學習大全網