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