连接两个字符数组?

标签 c string string-concatenation

如果我有两个像这样的字符数组:

char one[200];
char two[200];

然后我想制作第三个连接这些我该怎么做呢?

我试过:

char three[400];
strcpy(three, one);
strcat(three, two);

但这似乎行不通。如果 onetwo 设置如下:

char *one = "data";
char *two = "more data";

有人知道如何解决这个问题吗?

谢谢

最佳答案

如果 'one' 和 'two' 不包含以 '\0' 结尾的字符串,那么您可以使用:

memcpy(tree, one, 200);
memcpy(&tree[200], two, 200);

这将复制一个和两个中的所有字符,忽略字符串终止字符 '\0'

关于连接两个字符数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3324826/

相关文章:

CS50 维吉内尔问题。越界访问、未定义的行为

c - strncat() 再次复制到同一个字符串

string - 如何在 NSIS 中连接 2 个字符串

c++ - 在 O(1) 空间限制中反转单词在字符串中的位置而不改变特殊字符的顺序

c++ - 未初始化的值由堆分配 : Unordered_map 创建

java - 计算字符串的概率

使用sprintf在C中连接整数和字符

对 * 运算符性质的混淆

c - C 中的结构数组

c - 打印链表时,为什么原来的头指针没有变