C語(yǔ)言 strncpy()函數(shù)
(1)調(diào)用方式
strcpy (字符數(shù)組,字符串,n)
(2)函數(shù)功能:將“字符串”中的前n個(gè)字符復(fù)制到“字符數(shù)組”中。
(3)使用說(shuō)明
strncpy()中的具體規(guī)定與strcpy()函數(shù)一樣,但要注意的問(wèn)題是,實(shí)現(xiàn)n個(gè)字符復(fù)制后,并不自動(dòng)增加字符串結(jié)束標(biāo)志,所以需要編程者手動(dòng)添加。例如:
char strl[20]="Hello";
char str2[10]=" Boy";
strncpy(strl,str2,3);
puts(strl);
將str2中的前3個(gè)字符“Bo”賦值到str1中,但因?yàn)椴辉黾幼址Y(jié)束標(biāo)志,所以“Bo”只覆蓋str1中的前3個(gè)字符“Hel”,所以輸出結(jié)果為:
Bolo
如果不想出現(xiàn)這樣的問(wèn)題,可自己手動(dòng)添加結(jié)束標(biāo)志。在上例中,復(fù)制完后增加一條如下語(yǔ)句即可。
strl[3] =0;
(4)實(shí)現(xiàn)strncpy()函數(shù)功能的代碼為:
char strl[20]= "Hello";
char str2[10]=" Boy";
int n,i ;
printf("input n:\n");
scanf("%d",&n);
for(i=0;i<n;i++) /* 逐個(gè)賦值 */
strl[i]=str2[i];
strl[i]=0; /* 增加字符串結(jié)束標(biāo)志 */
puts(strl);
點(diǎn)擊加載更多評(píng)論>>