1、strcat是用來拼接字符串的,它會(huì)將參數(shù) src 字符串復(fù)制到參數(shù) dest 所指的字符串尾部。具體用法首先用vs2017新建一個(gè)c語言的程序文件,引入頭文件,引入strcat函數(shù)所在的包“string.h”,最后設(shè)置一個(gè)主函數(shù):
為錯(cuò)那等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及錯(cuò)那網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、錯(cuò)那網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
2、接著用str函數(shù)復(fù)制一段話,首先定義一個(gè)80位的char類型變量,接著用strcat函數(shù)拼接成一句話,str函數(shù)接受兩個(gè)參數(shù),前一個(gè)是待拼接的變量,后面的是需要拼接的內(nèi)容,可以是變量也可以是一串字符;最后用puts函數(shù)輸出str的內(nèi)容即可:
3、按下crtl+F5運(yùn)行調(diào)試程序,在打開的命令提示符中就會(huì)顯示出完整的一句話了。以上就是strcat函數(shù)的用法:
你好!首先你定義了兩個(gè)指針常量str1跟str2是常量,內(nèi)容是無法改變的。例如你對(duì)str1的值進(jìn)行修改*str1++,直接就會(huì)報(bào)出訪問非法內(nèi)存。其次最后輸出的時(shí)候str1指針指向的位置已經(jīng)被修改,進(jìn)行格式化輸出時(shí)的內(nèi)容也不會(huì)正確。以下是我修改后的程序,希望對(duì)你有所幫助!
#includeiostream
using namespace std;
void main()
{
int i = 0;
char str1[20] ="abcde";
char *str2="fghij";
while(str1[i] != '\0')
{
i++;
}
while(*str2 !='\0')
{
str1[i]=*str2;
str2++;
i++;
}
str1[i+1]='\0';
printf(str1);
coutendl;
}
strcat用于將兩個(gè)char類型鏈接的函數(shù)。
函數(shù)原型:extern
char
*strcat(char
*dest,char
*src);
參數(shù):
dest
目標(biāo)數(shù)組指針
src
源字符串指針
返回值:返回指向dest的指針
函數(shù)功能:把src所指字符串添加到dest結(jié)尾處(覆蓋dest結(jié)尾處的'\0')并添加'\0'。
注意事項(xiàng):
src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。
使用時(shí)額外包含
#include
string.h
實(shí)例:
#include
stdio.h
#include
string.h
#include
stdlib.h
main()
{
char
d[20]
=
"GoldenGlobal";
char*
s
=
"View";
system("cls");
strcat(d,s);
printf("%s",d);
getchar();
return
0;
}
運(yùn)行結(jié)果:
GoldenGlobalView
strcat函數(shù)作用是把src所指向的字符串(包括“\0”)復(fù)制到dest所指向的字符串后面(刪除*dest原來末尾的“\0”)。保證*dest足夠長,以容納被復(fù)制進(jìn)來的*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原來末尾的“\0”)。要保證*dest足夠長,以容納被復(fù)制進(jìn)來的*src。*src中原有的字符不變。返回指向dest的指針。
src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。
參考資料來源:百度百科-strcat
第一個(gè)參數(shù)必須指向一個(gè)有效的C風(fēng)格字符串,而且該字符串后面的空間必須是可讀寫的并且能夠容納第二個(gè)參數(shù)指向的字符串。
所以字符數(shù)組和動(dòng)態(tài)分配的內(nèi)存可以作為strcat的第一個(gè)參數(shù),而字符串常量不可以。
ElemType(也有的書上稱之為elemtp)是數(shù)據(jù)結(jié)構(gòu)的書上為了說明問題而用的一個(gè)詞。它是element type(“元素的類型”)的簡化體?!∫?yàn)閿?shù)據(jù)結(jié)構(gòu)是討論抽象的數(shù)據(jù)存儲(chǔ)和算法的,一種結(jié)構(gòu)中元素的類型不一定是整型、字符型、浮點(diǎn)型或者用戶自定義類型,為了不重復(fù)說明,使用過程中用“elemtype”代表所有可能的數(shù)據(jù)類型,簡單明了的概括了整體。
C語言中不存在這個(gè)elemtype。你可以換成flost或double。希望能幫到你