strcat()是追加字符串的函數(shù)。
創(chuàng)新互聯(lián)專(zhuān)注于安龍企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),電子商務(wù)商城網(wǎng)站建設(shè)。安龍網(wǎng)站建設(shè)公司,為安龍等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
strcat(char[] a,char []b)即將第二個(gè)字符串追加到第一個(gè)字符串末尾,第二個(gè)字符串值不變,第一個(gè)變長(zhǎng)。
你的理解是對(duì)的 但是使用有誤!追加時(shí)需要保證第一個(gè)字符串在加上第二個(gè)之后依舊不能溢出。在此題中,你的a[]字符串長(zhǎng)度在追加上".txt"之后,會(huì)溢出,建議在定義a的時(shí)候?qū)懮蟘har a[100]保證不溢出。
1
2
3
char a[100];
scanf("%s",a);
strcat(a,".txt");
用法:
#include string.h
在C++中,則存在于cstring頭文件中。
strcat原型:
extern char *strcat(char *dest,char *src);
功能:
把src所指字符串添加到dest結(jié)尾處(覆蓋dest結(jié)尾處的'\0')并添加'\0'。
說(shuō)明:
src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來(lái)容納src的字符串。
返回指向dest的指針。
strcat()函數(shù)從名稱(chēng)來(lái)講就是索的含義,用途:在一個(gè)字符串的末尾增加新的字符。
函數(shù)定義如下:
char *strcat(char *dest, const char *src);
擴(kuò)展資料
代碼實(shí)現(xiàn)如下:
char *strcat(char *dest, const char *src)
{
char *tmp = dest;
while (*dest)
dest++;
while ((*dest++ = *src++) != '\0');
return tmp;
}
實(shí)現(xiàn)原理:
首先dest地址移動(dòng)到最后一位,然后增加src參數(shù)值遇到’\0’結(jié)束拷貝。
strcat()也存在著與strcpy()類(lèi)似的問(wèn)題。
strcat函數(shù)作用是把src所指向的字符串(包括“\0”)復(fù)制到dest所指向的字符串后面(刪除*dest原來(lái)末尾的“\0”)。保證*dest足夠長(zhǎng),以容納被復(fù)制進(jìn)來(lái)的*src。*src中原有的字符不變。
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原來(lái)末尾的“\0”)。要保證*dest足夠長(zhǎng),以容納被復(fù)制進(jìn)來(lái)的*src。*src中原有的字符不變。返回指向dest的指針。
src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來(lái)容納src的字符串。
參考資料來(lái)源:百度百科-strcat