2009-04-24 9 views
6

comment créer des objets std :: ostream et std :: istream pour pointer vers une partie de la mémoire allouée et gérée (je ne veux pas que le flux libère ma mémoire).Flux C++ vers la mémoire

Je cherchais à utiliser rdbuf() -> pubsetbuf() pour modifier l'un des autres flux - disons sstringstream. Cependant je pense que streambuf utilisé par stringstream va libérer le tampon après?

Fondamentalement, j'essaie de sérialiser certaines choses à la mémoire partagée.

Merci.

Répondre

7

Jetez un oeil à la classe bufferstream dans la bibliothèque Boost.Interprocess:

Les classes bufferstream offrent interface iostream avec mise en forme directe dans une mémoire tampon de taille fixe avec protection contre les tampons trop-pleins.

+0

Travail effectué. Merci. – Budric

+0

Je suis curieux de connaître le vote négatif. Quelqu'un a-t-il eu un problème avec cette solution? –