strcat函數(shù)作用是把src所指向的字符串(包括“\0”)復(fù)制到dest所指向的字符串后面(刪除*dest原來末尾的“\0”)。保證*dest足夠長,以容納被復(fù)制進(jìn)來的*src。*src中原有的字符不變。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)神木免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
strcat是把兩個(gè)字符串合并到一起,比如
str1[30] = "Hello";
str2[] = " China";
strcat(str1, str2);
則str1的內(nèi)容就變成"Hello China"。
擴(kuò)展資料:
在C中,函數(shù)原型存在 string.h頭文件中。
在C++中,則存在于cstring頭文件中。
把src所指向的字符串(包括“\0”)復(fù)制到dest所指向的字符串后面(刪除*dest原來末尾的“\0”)。要保證*dest足夠長,以容納被復(fù)制進(jìn)來的*src。*src中原有的字符不變。返回指向dest的指針。
src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。
參考資料來源:百度百科-strcat
C語言中拼接字符串可以使用strcat函數(shù)。
1、strcat()函數(shù) ,即string catenate的縮寫
原型:extern char *strcat(char *dest,char *src);
用法:#include string.h
功能:把src所指字符串添加到dest結(jié)尾處(覆蓋dest結(jié)尾處的'\0')并添加'\0'。
說明:src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。
返回指向dest的指針。
2、舉例:
#include?stdio.h
#include?string.h
int?main(){
char?d[20]="字符串1";?//第一個(gè)字符串
char?*s="?字符串2";??//第二個(gè)字符串
strcat(d,s);????//拼接兩個(gè)字符串,結(jié)果保存在第一個(gè)字符串當(dāng)中
printf("%s",d);?//輸出拼接結(jié)果:"字符串1字符串2"
getchar();
return?0;
}
對(duì)于strcat,其格式為
char *strcat(char *a, char *b);
其功能為,將字符串b拼接到a的尾部,并將結(jié)果字符串返回。
所以,實(shí)現(xiàn)該函數(shù)的思路為:
1 找到字符串a(chǎn)的結(jié)尾;
2 將b的所有字符復(fù)制到a尾部的空間中,到\0為止。
需要注意的是,復(fù)制的結(jié)果要包含b的結(jié)束符。
代碼如下:
char?*strcat(char?*a,?char?*b)
{
char?*p?=?a;
while(*p)?p?++;
//當(dāng)*p為\0時(shí)退出,即查找到a的結(jié)尾。
do
{
*p++?=?*b;//將b中的每個(gè)字符復(fù)制到p中。
if(*b?==?'\0')break;//遇到結(jié)束符退出。
b++;//移動(dòng)指針b的位置。
}while(1);
return?a;//返回結(jié)果字符串首地址。
}
可以先定義兩個(gè)字符數(shù)組 分別存放需要拼接的字符.然后使用strcpy()函數(shù)來實(shí)現(xiàn)拼接,