使用<<或>>连接unsigned char数组

时间:2017-09-20 23:52:37

标签: c++ arrays char concatenation unsigned

如果我有这两个阵列:

unsigned char bytes1[n];
unsigned char bytes2[m];

nm是任意整数),我这样做:

cout << bytes1 << bytes2;

我设法显示这两个数组的内容。有可能使用这个概念来连接这两个数组吗?这样的事情:

usigned char bytes1[2];
unsigned char bytes2[3];
unsigned char * bytes3 = new unsigned char[5];
bytes3 << bytes1 << bytes2;

最后,bytes2的内容应该依次为bytes1bytes2

1 个答案:

答案 0 :(得分:2)

您可能希望在此上下文中使用stringstream

在这里引用: http://www.cplusplus.com/reference/sstream/stringstream/?kw=stringstream

标题中的

#include <sstream>

在体内:

unsigned char bytes1[2];
unsigned char bytes2[3];
unsigned char * bytes3 = new unsigned char[5];

std::stringstream ss;
ss << bytes1 << bytes2;
ss >> bytes3

//This should be also good
std::string bytes3 = ss.str();

您的原始代码不起作用,因为byte3不是stream(具体为ostream),因此它没有<<运算符