显然,boost::asio::async_read
不支持字符串,因为 boost::asio::buffer
的唯一重载允许我创建 const_buffer
,所以我被迫将所有内容读入一个 streambuf 中。
现在我想将 streambuf 的内容复制到一个字符串中,但它似乎只支持向 char* 写入(sgetn()
),需要通过使用 streambuf 创建 istream 并使用 getline()
来实现。
除了过度复制之外,有没有其他方法可以创建包含 streambuf 内容的字符串?
someStreamBufPointer
是有意义的。 - seheistreambuf_iterator<char>{someStreamBuf}
避免。 - MSalters