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