显然boost::asio::async_read
不喜欢字符串,因为唯一的重载boost::asio::buffer
允许我创建const_buffer
s,所以我坚持将所有内容读入 streambuf。
现在我想将 streambuf 的内容复制到一个字符串中,但它显然只支持写入 char* ( sgetn()
),使用 streambuf 创建一个 istream 并使用getline()
.
有没有其他方法可以在不过度复制的情况下创建带有 streambufs 内容的字符串?