2009-04-24 6 views
6

w jaki sposób można utworzyć obiekty std :: ostream i std :: istream, aby wskazać kawałek pamięci przydzielony i zarządzany (nie chcę, aby strumień uwalniał moją pamięć).Strumień C++ do pamięci

Szukałem przy użyciu rdbuf() -> pubsetbuf(), aby zmodyfikować jeden z innych strumieni - na przykład sstringstream. Jednak myślę, że strumienie używane przez stringstream zwolnią bufor później?

Zasadniczo próbuję serializować niektóre rzeczy do wspólnej pamięci.

Dzięki.

Odpowiedz

7

Spójrz na klasy w bibliotece Boost.Interprocessbufferstream:

Klasy bufferstream oferują interfejs iostream z bezpośrednim formatowania w pamięci stałym rozmiarze bufora z zabezpieczeniem przed przepełnieniem bufora .

+0

Pracował. Dzięki. – Budric

+0

Jestem ciekawy głosowania w dół. Czy ktoś miał problem z tym rozwiązaniem? –