在c++中如何将两个字符串合并成一个字符串

在c++环境下。

这要看类型,如果用的是C++里面的string类,那么只需要用上重载符号 + 就行了:

例如:

string s1="12345890",s2="abcdedg";
s1+=s2;//把s2连接在s1尾部
cout<<s1<<endl;//输出结果是"12345890abcdedg",不含引号

如果是C语言里面的字符数组,可以用strcat(char *s1,char *s2)函数,功能是把,s2连接在s1尾部:

例如:

char s3[]="12345678",s4[]="abcded";
char s5[100];
strcat(s5,s3); strcat(s5,s4);//功能如上所说
cout<<s5<<endl;//输出结果是"12345678abcded",不含引号

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-09
两个字符串是 string 类型?直接用运算符 ’+‘ 进行字符合并啊!
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string a="aaa",b="bbb";
string c=a+b;
cout<<c<<endl;
return 0;
}本回答被网友采纳
第2个回答  2012-06-09
简单,用string对象,例如:
string str1="ddd";
string str2="bbb";
st1=str1+str2;
或 用c风格的字符数组,用strcat函数
char str1[100]="ddd";
char str2[10]="bbb";
strcat(str1,str2);
第3个回答  2006-11-05
int main(void)
{
char string[20]="12345";
char *str1 = "abcdefghi";

strncpy(string+5, str1, 9);
string[14] = '\0';
printf("%s\n", string);
getch();
return 0;
}

注意string的大小一定足够放下第二个字符串
第4个回答  2006-11-05
#include<stdio.h>
int main(void)
{
char *str1 ="12345";
char *str2 = "abcdefghi";
int i=0;
while(str1=='\0')
{
strncpy(str1,str2,i);
str++;
i++;
}

str1[i+length(str2)] = '\0';
printf("%s\n", str1);
getch();
return 0;
}