我声明为下面印刷升压::阵列<>到stdout
typedef boost::array<unsigned char, 4096> m_array_type;
m_array_type m_recv_buf;
boost::array
一个我想输出m_recv_buf
到stdout
。
std::cout << m_recv_buf << std::endl;
似乎不工作?如何打印这stdout
我声明为下面印刷升压::阵列<>到stdout
typedef boost::array<unsigned char, 4096> m_array_type;
m_array_type m_recv_buf;
boost::array
一个我想输出m_recv_buf
到stdout
。
std::cout << m_recv_buf << std::endl;
似乎不工作?如何打印这stdout
如果要将m_array_type
作为字符串打印,则需要字符串以空终止符正确结束。因此,此方法创建std::string
类型,明确将该长度发送到std::string
构造函数。
std::cout << std::string(reinterpret_cast<const char*>(m_recv_buf.data()), m_recv_buf.size()) << std::endl;
我认为这种方式对其他必须使用您的代码的人很明显。但是如果m_array_type
改变了它的类型,以前的答案会更好。
C++容器通常没有标准的输出方式。无论如何,你会期望输出结果如何? – Cubic
@Cubic - 我想将数组的内容打印到屏幕上。 – liv2hak
但是如何?这是不明确的。你想要一个漂亮的数组打印?你想把它当作一个字符串吗?我不知道你想从你的描述中得到什么。 – Cubic