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?