Acesso direto ao buffer do C ++ stl stringstream

isso deve ser bastante comum, mas acho fascinante não encontrar uma solução direta.

Basicamente, eu li em um arquivo através da rede em uma stringstream. Esta é a declaração:

std::stringstream membuf(std::ios::in | std::ios::out | std::ios::binary);

Agora eu tenho uma biblioteca C que quer acesso direto ao pedaço de leitura da memória. Como faço para conseguir isso? O acesso somente leitura está OK. Depois que a função C terminar, eu descarto o fluxo de memória, não há necessidade disso.

str() copia o buffer, o que parece desnecessário e duplica a memória.

Estou faltando alguma coisa óbvia? Talvez uma classe stl diferente funcionasse melhor.

Editar: Aparentemente, stringstream não é garantido para ser armazenado continuamente. O que é?

se eu usarvector<char> Como obtenho buffer de bytes?

questionAnswers(4)

yourAnswerToTheQuestion