По-видимому boost::asio::async_read
не любит строки, так как единственная перегрузка boost::asio::buffer
позволяет мне создавать const_buffer
, так что я застрял с чтением всего в streambuf.
Теперь я хочу скопировать содержимое streambuf в строку, но, по-видимому, поддерживает только запись в char * (sgetn()
), создавая istream с streambuf и используя getline()
.Скопируйте содержимое streambuf в строку
Есть ли другой способ создать строку с содержимым streambufs без чрезмерного копирования?
Спасибо, istreambuf_iterator был тем, что я искал. – tstenner
Вот что-то странное. Я не могу предположить, почему, но istreambuf_iterator разрезает последние символы (если в последней строке больше 20 символов). Есть ли какие-нибудь идеи, почему это может быть? –
ss << someStreamBuf копирует 11 байтов 0xFFFFFFFFF, которые представляют адрес streambuf в памяти. Благодарю. очень полезно: D –