Apparentemente boost::asio::async_read
non ama le stringhe, poiché l'unico sovraccarico di boost::asio::buffer
mi consente di creare const_buffer
s, quindi sono bloccato a leggere tutto in uno streambuf.
Ora voglio copiare il contenuto dello streambuf in una stringa, ma a quanto pare supporta solo la scrittura in char * (sgetn()
), creando un istream con lo streambuf e utilizzando getline()
.Copia i contenuti di uno streambuf in una stringa
C'è un altro modo per creare una stringa con il contenuto dello streambufs senza una copia eccessiva?
Grazie, istreambuf_iterator era quello che stavo cercando. – tstenner
Ecco qualcosa di strano. Non riesco a capire perché, ma istreambuf_iterator taglia gli ultimi simboli (se sono più di 20 simboli nell'ultima riga). C'è qualche idea del perché potrebbe essere? –
ss << someStreamBuf copia gli 11 byte '0xFFFFFFFFF' che rappresentano l'indirizzo dello streambuf in memoria. Grazie. molto utile: D –