strncpy
是 c語言
的庫函式之一,來自 c語言標準庫,定義於
string.h
,char *strncpy(char *dest, char *src, int n),把src所指字串的前n個位元組複製到dest所指的陣列中,並返回指向dest的指標。
strcpy只是複製字串,但不限制複製的數量,很容易造成緩衝溢位。strncpy要安全一些。
strncpy能夠選擇一段字元輸出,strcpy則不能。例如:
char name=,dest[20]={};
strncpy(dest,name,9);
printf("%s\n",dest);
strncpy可實現strcpy的字串複製:
char name=,dest[20]={};
strncpy(dest,name,sizeof(name));
printf("%s\n",dest);
注意在以上的**中
dest[20]={};後面的{}不能缺少,否則會出現錯誤,而strcpy時可以不加{}原因是strcpy會複製src的'\0'
strcpy與strncpy的區別
原型 char strcpy char dest,char src 功能 把src所指由 0 結束的字串複製到dest所指的陣列中。說明 src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。返回指向dest的指標。注意 當src串長度 dest串長度時,程式仍會將整...
strcpy和strncpy的區別
strcpy 原型 char strcpy char restrict s1,const char restrict s2 用法 include 功能 把s2所指由null結束的字串複製到s1所指的陣列中。說明 s1和s2所指記憶體區域不可以重疊且s1必須有足夠的空間來容納s2的字串。返回指向s1的...
strcpy和strncpy的區別
第一種情況 1 2 3 4 char p how are you char name 20 abcdefghijklmnopqrs strcpy name,p name改變為 how are you 正確!strncpy name,p,sizeof name name改變為 how are you ...