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

时间:2023-01-03 17:58:21
比如
char str1[20]="abcd";
char str2[20]="efgh";
char str3[40];
如何把str1和str2中的内容放到str3中?

17 个解决方案

#1


strcpy 吧  

#2


strcat吧

#3


strcpy是复制,strcat是拼接,如果用string类型的话可以直接用‘+’。

#4


先strcpy在ctrcat

#5



    char *src=str1,*dst=str3;
    while(*src) *dst++=*src++;
    src =str2;
    for(src=str2;(*dst++=*src++););

#6


snprintf(str3, 30, "%s%s", str1, str2);

#7


推荐字符串用string

#8


先转换成字符串,再利用字符串的+运算生成新的字符串,在用C_str()函数转换成字符数组

#9


char* p1,p2,p3.px;
px=p1=str1;
p3=str3;

while(*px)
*p3++=*px++;
px=str2;
while(*px)
*p3++=*px++;

#10


char* p1,p2,p3.px;
px=p1=str1;
p3=str3;

while(*px)
*p3++=*px++;
px=str2;
while(*px)
*p3++=*px++;
*p3=0;

#11


c++中如何两个字符串合并成一个字符串?小心(越界)驶得万年船!:
char str1[20]="abcd";
char str2[20]="efgh";
char str3[40];
strncpy(str3,str1,39);str3[39]=0;
strncat(str3,str2,39-strlen(str3));

#12


c++上最好用string吧,除了少部分情况,我感觉用string要比char方便不少

#13


我来凑热闹的
strcpy 

#14


如果你会运算符重载的话这个就很容易了!

#15


strcpy+strcat c++中如何两个字符串合并成一个字符串?

#16


总结:
1. strcpy, strcat
2. sprintf
3. std::string +

#17


使用strcpy加strcat,如果VS2012以上版本,建议用strcpy_s和strcat_s

如果觉得麻烦,可以考虑使用std::string或者CString,然后可以直接相加,如s1+s2

#1


strcpy 吧  

#2


strcat吧

#3


strcpy是复制,strcat是拼接,如果用string类型的话可以直接用‘+’。

#4


先strcpy在ctrcat

#5



    char *src=str1,*dst=str3;
    while(*src) *dst++=*src++;
    src =str2;
    for(src=str2;(*dst++=*src++););

#6


snprintf(str3, 30, "%s%s", str1, str2);

#7


推荐字符串用string

#8


先转换成字符串,再利用字符串的+运算生成新的字符串,在用C_str()函数转换成字符数组

#9


char* p1,p2,p3.px;
px=p1=str1;
p3=str3;

while(*px)
*p3++=*px++;
px=str2;
while(*px)
*p3++=*px++;

#10


char* p1,p2,p3.px;
px=p1=str1;
p3=str3;

while(*px)
*p3++=*px++;
px=str2;
while(*px)
*p3++=*px++;
*p3=0;

#11


c++中如何两个字符串合并成一个字符串?小心(越界)驶得万年船!:
char str1[20]="abcd";
char str2[20]="efgh";
char str3[40];
strncpy(str3,str1,39);str3[39]=0;
strncat(str3,str2,39-strlen(str3));

#12


c++上最好用string吧,除了少部分情况,我感觉用string要比char方便不少

#13


我来凑热闹的
strcpy 

#14


如果你会运算符重载的话这个就很容易了!

#15


strcpy+strcat c++中如何两个字符串合并成一个字符串?

#16


总结:
1. strcpy, strcat
2. sprintf
3. std::string +

#17


使用strcpy加strcat,如果VS2012以上版本,建议用strcpy_s和strcat_s

如果觉得麻烦,可以考虑使用std::string或者CString,然后可以直接相加,如s1+s2