我聲明爲下面印刷升壓::陣列<>到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