I would like to convert a boost::asio::streambuf into a std::string.
How do I do that easily?
I use this aproach:
boost::asio::streambuf stream_buf;
...
std::string s( (std::istreambuf_iterator<char>(&stream_buf)), std::istreambuf_iterator<char>() );
you can read whole data from other kind of streams, f.e., ifstream.
Did not try this, but if I read the docs correctly, this class inherits from std::streambuf
, in which case you can do this:
std::istream buffer( my_asio_streambuf_ptr );
std::stringstream string_buffer;
string_buffer >> buffer.rd_buf();
There are many ways to do this, and each has it's pros and cons. If you could explain you problem in more detail, we can offer more specific help.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With