代碼:
創(chuàng)新互聯(lián)公司主要業(yè)務(wù)有網(wǎng)站營銷策劃、成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、微信平臺(tái)小程序開發(fā)、成都h5網(wǎng)站建設(shè)、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗(yàn)、全網(wǎng)營銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。
char str1="123";
char str2="abc";
strcat(str1,str2);
printf("%s",str1);
例如:
#include stdio.h
#include string.h
main()
{
char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";
strcat(strSor,strDes);//鏈接
puts(strDes);
puts(strSor);
}
擴(kuò)展資料:
字符串在存儲(chǔ)上類似字符數(shù)組,它每一位單個(gè)元素都是能提取的,字符串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運(yùn)算時(shí)每一位都能轉(zhuǎn)化為數(shù)字存入數(shù)組。
通常以串的整體作為操作對(duì)象,如:在串中查找某個(gè)子串、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等。兩個(gè)字符串相等的充要條件是:長度相等,并且各個(gè)對(duì)應(yīng)位置上的字符都相等。設(shè)p、q是兩個(gè)串,求q在p中首次出現(xiàn)的位置的運(yùn)算叫做模式匹配。串的兩種最基本的存儲(chǔ)方式是順序存儲(chǔ)方式和鏈接存儲(chǔ)方式。
參考資料來源:百度百科-字符串
主要有兩種方法,一個(gè)是字符串連接操作strcat,另一個(gè)是格式化輸出sprintf,主要代碼如下,
//程序功能實(shí)現(xiàn)字符串合并
#include stdio.h
#include string.h
int main(int argc, char *argv[])
{
char name1[32]="456",name2[32]="123",name3[32]="789";
char NAME1[256]={'\0'},NAME2[256]={'\0'};
//字符串連接函數(shù)
strcat( NAME1,name2);
strcat( NAME1,name1);
strcat( NAME1,name3);
//格式化輸出
sprintf(NAME2,"%s%s%s", name2, name1, name3);
printf("%s\n",NAME1);
printf("%s\n",NAME2);
return 0;
}
char *strcat( char *str1, const char *str2 );函數(shù)將字符串str2
連接到str1的末端,并返回指針str1。
int sprintf( char *buffer, const char *format, ... );sprintf和printf類似,
只是把輸出發(fā)送到buffer緩沖區(qū)中,返回值是寫入的字符數(shù)量。
#include stdio.h
#include string.h
void catstring(char *str0, int len0, char *str1, int len1, char *str2, int len2)
{
if (len2 = len0 + len1) {
return;
}
memcpy(str2, str0, len0);
memcpy(str2 + len0, str1, len1);
}
int main()
{
char str0[20] = "Golden";
char str1[20] = "View";
char str2[20] = { 0 };
catstring(str0, strlen(str0), str1, strlen(str1), str2, 20);
printf("str2 = %s\n", str2);
return 0;
}
請(qǐng)采納,謝謝!
#include stdio.h
#include string.h
main()
{
char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";
strcat(strSor,strDes);//鏈接
puts(strDes);
puts(strSor);
}
////////// 如果通過一個(gè)地址返回呢?該怎么處理???
#includestdio.h
#includestring.h
#define M 3
#define N 30
void fun(char a[M][N], char *b)
{
for (int i = 0; i M; ++ i ){
strcat( b, a[i]); // 這樣子使用.
}
}
int main(int argc, char ** argv )
{
char w[M][N]={"AAAA","BBBBBBB","CC"}, a[100];
int i ;
printf("The string: \n");
for(i=0; iM; i++){
printf("w[%d] = [%20s] \n", i, w[i]);
}
printf("\n");
//bzero(a, sizeof(a));
memset(a,0, sizeof(a));
fun(w,a);
printf("The A string: --------- \n");
printf("a = [%30s]\n",a);
return 0;
}
////////////////////////////// 為什么結(jié)果出現(xiàn)錯(cuò)誤 無法運(yùn)行??
// 因?yàn)? b 沒有給它申請(qǐng)內(nèi)存, 是個(gè)未定義的指針. 肯定會(huì)出錯(cuò).
// 用 strcat 時(shí), 一定要確保, 目標(biāo)內(nèi)存的大小有足夠的空間存放合并后的字符串.
// 如果空間太小, 就會(huì)出現(xiàn)內(nèi)存溢出.
#includestdio.h
#include string.h
int main( int argc, char ** argv )
{
char *b = NULL;
char a[3][20]={"AAAA","BBBBBBB","CC"};
int len = strlen(a[0]) + strlen(a[1]) + strlen(a[2]) + 1 ; //目標(biāo)字符串長度.
b = (char *)malloc( len ) ;
memset(b, 0, len); // 清0 ;
strcat(b,a[0]);
strcat(b,a[1]);
strcat(b,a[2]);
printf("%s",b);
free(b); // 要記得 free 哦.
b = NULL;
return 0;
}
如果是C語言,有一個(gè)函數(shù)是strcat
在函數(shù)庫string.h,功能就是合并字符串
例如:
#includestdio.h
#includestring.h
char?a[10]?=?{"12"};
char?b[10]?=?{"bc"};
int?main()
{
strcat(a,b);
printf("%s\n",a);
return?0;
}