strncpy?是?C語言的庫函數之一,來自 C語言標準庫,定義于?string.h,char *strncpy(char *dest, char *src, int n),把src所指字符串的前n個字節復制到dest所指的數組中,并返回指向dest的指針。
strcpy只是復制字符串,但不限制復制的數量,很容易造成緩沖溢出。strncpy要安全一些。
strncpy能夠選擇一段字符輸出,strcpy則不能。例如:
char name[]={"Chinanet"},dest[20]={};
strncpy(dest,name,9);
printf("%s\n",dest);
strncpy可實現strcpy的字符串復制:
char name[]={"Chinanet"},dest[20]={};
strncpy(dest,name,sizeof(name));
printf("%s\n",dest);
注意在以上的代碼中
dest[20]={};后面的{}不能缺少,否則會出現錯誤,而strcpy時可以不加{}原因是strcpy會復制src的'\0'