传输一个std :: stringstream

时间:2014-04-10 19:11:50

标签: c++ c++11 network-programming type-conversion stringstream

大家好,非常感谢您的时间。

需要将std :: stringstream传输到远程计算机。 网络库允许我使用以下方法构建数据包:

CreatePacket( const void * DATA, size_t DATA_SIZE )

在接收端,数据以uint8_t *

的形式返回

我无法弄清楚如何获取std :: stringstream数据,将其放入CreatePacket()函数,然后在接收端从uint8_t *重建std :: stringstream并以最有效的方式执行此操作方式。

作为旁注,字符串流保存二进制数据。

再次感谢大家,感谢你们。

1 个答案:

答案 0 :(得分:4)

使用str()成员函数从stringstream获取std::string。然后使用c_str()data()成员函数来访问字符串的内部缓冲区。

auto s = myStringStream.str();
CreatePacket(s.data(), s.size());