c语言如何合并两个字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何合并两个字符串相关的知识,希望对你有一定的参考价值。

如果是C语言,有一个函数是strcat

在函数库string.h,功能就是合并字符串

例如:

#include<stdio.h>
#include<string.h>

char a[10] = "12";
char b[10] = "bc";

int main()

strcat(a,b);
printf("%s\\n",a);
return 0;

参考技术A #include <stdio.h>
#include <string.h>
main()

char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";
strcat(strSor,strDes);//链接
puts(strDes);
puts(strSor);

如何同时合并两个列表?

list1=[a,b,c,d]
list2=[d,e,f,g]

我想要一个 list3 应该是这样的。

list3=[a-d,b-e,c-f,d-g]

请告诉我如何在循环中做这个,因为我的... list1list2 有很多实体.list1和list2都是字符串.例如:list1=[a,b,c,d] list2=[d,e,f,g] 我想要一个list3,它应该是:list3=[a-d,b-e,c-f,d-g]。

list1=['cat','dog']
list2=['dog','cat']
list3=['cat-dog','dog-cat']
答案

有了 zip 你可以把两个列表放在一起,同时对它们进行迭代。

list1=[a,b,c,d]
list2=[d,e,f,g]
list3 = [x-y for x,y in zip(list1,list2)]

EDIT: 我回答的前提是你的列表中只有整数,如果你想对字符串做同样的事情,你可以这样做。

list1 = ["a", "b", "c", "d"]
list2 = ["d", "e", "f", "g"]
list3 = ["-".join([x, y]) for x, y in zip(list1, list2)]
另一答案

如果你的列表可以有不同的长度,就可以使用 zip_longest:

from itertools import zip_longest

list3 = [x-y for x,y in zip_longest(list1,list2, fillvalue=0)]

如果名单的长度相同,它的行为就像通常的一样。zip如果没有,它就会在最短的列表中填入 fillvalue (在本例中为0)来匹配其他元素的长度,而不是忽略剩余的元素。

如果你的列表中包含字符串,你最好使用字符串操作方法并改变 fillvalue。

from itertools import zip_longest

list3 = [str(x) + '-' + str(y) for x,y in zip_longest(list1,list2, fillvalue="")]

以上是关于c语言如何合并两个字符串的主要内容,如果未能解决你的问题,请参考以下文章

C语言怎么合并两个字符串?

用C语言怎么把文件中的两行合并成一行

Java中如何将两个字符串合并,并且把重复的元素去掉,不能用任何排序指令那些,纯手打写出来。

javascript如何合并字符串?

请问C语言如何把2个const char * const s1的字符串合并?

C语言实现两个字符串的拼接