如果我有两个char数组,如下所示:
char one[200]; char two[200];
然后我想制作第三个连接这些我怎么能这样做?
我试过了:
char three[400]; strcpy(three, one); strcat(three, two);
但这似乎不起作用。 如果one
和two
设置如下:
char *one = "data"; char *two = "more data";
任何人都知道如何解决这个问题?
谢谢
如果’one’和’two’不包含’ 0’终止字符串,那么您可以使用:
memcpy(tree, one, 200); memcpy(&tree[200], two, 200);
这将从一个和两个复制所有字符,忽略字符串终止字符’ 0′
strcpy期望数组以’ 0’结尾。 字符串在C中以零结尾。这就是为什么第二种方法有效并且首先没有。
您可以轻松使用sprintf
需要了解更多c/c++开发分享连接两个char数组?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!
char one[200] = "data"; // first bit of data char two[200] = "more data"; // second bit of data char three[400]; // gets set in next line sprintf(three, "%s %s", one, two); // this stores data
以上就是c/c++开发分享连接两个char数组?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/979875.html