位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

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

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

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

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

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

(3)說明

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

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

例如:

char strl[20]="Hello";

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

strncat(strl,str2,4);

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

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

char str1[20]="Hello";

char str2[10]=" Boy";

strncat(str1,str2,8);

str2中只有4個字符,不足8個,則后面補(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í)際長度*/

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

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

{

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

}

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

    strl[i+j]=0;

else

    strl[i+k]=0;

puts(strl);

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

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