位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C語(yǔ)言 > 問(wèn)題詳情

C語(yǔ)言 strncat()函數(shù)

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-30

(1)調(diào)用格式為

    strncat(字符數(shù)組,字符串,n)

(2)函數(shù)功能:將字符串中最多n個(gè)字符追加到字符數(shù)組末尾。

(3)說(shuō)明

①關(guān)于“字符數(shù)組”“字符串”的說(shuō)明與strcato函數(shù)一樣。

②n:從字符串中截取n個(gè)字符追加到字符數(shù)組末尾。

例如:

char strl[20]="Hello";

char str2[10]=" Boy and Girl";

strncat(strl,str2,4);

只截取str2的前4位,所以str1中的內(nèi)容為:“Hello Boy”。 

如果字符串長(zhǎng)度不足n,則補(bǔ)以空字符'\0'。例如:

char str1[20]="Hello";

char str2[10]=" Boy";

strncat(str1,str2,8);

str2中只有4個(gè)字符,不足8個(gè),則后面補(bǔ)空字符'\0'。

(4)實(shí)現(xiàn)strncat()函數(shù)功能的代碼為:

char str1[20]="Hello";

char str2[10]=" Boy";

int i,j,k,n;

printf("input n:\n");

scanf("%d",&n);

for(i=0;str1[i]!='\0';i++);    /*i是str1的實(shí)際長(zhǎng)度*/

for(j=0;str2[j]!='\0';j++);    /*j是str2的實(shí)際長(zhǎng)度*/

for(k=0;k<n;k++)               /*將str2的內(nèi)存逐個(gè)賦值到str1中*/

{

    strl[i+k]=str2[k];

}

if (n>-j)                /*添加字符串結(jié)束標(biāo)志*/

    strl[i+j]=0;

else

    strl[i+k]=0;

puts(strl);

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部