Äquivalent von open_memstream für MSVC

8

Ich verwende open_memstream in einer meiner Bibliotheken, aber ich möchte diese Bibliothek nach MSVC portieren. Es scheint, dass es keine gleichwertige Funktion gibt, aber gibt es etwas ähnliches genug?

Was open_memstream tut, ist ein char ** -Ziel und eine Größe und gibt eine FILE * zurück, in die Sie viele schreiben. Die Daten werden in einem dynamisch zugewiesenen Puffer gespeichert (zugänglich vom Char **) Streit). Beim Schließen der Datei enthält das Zeichen ** die Daten, die in den Stream geschrieben wurden. Dies macht eine einfache Möglichkeit, große und komplexe String-Streams zu erstellen.

Während es möglich ist, sowohl aus dem memstream zu lesen als auch zu suchen, schreibe ich nur darauf.

Gibt es eine Möglichkeit, einen ähnlichen Speicher FILE-Stream in MSVC zu öffnen? Auch das ist reines C, kein C ++.

    
ext 19.05.2010, 09:13
quelle

1 Antwort

2

Eine ähnliche Funktion unter Windows wäre CreateStreamOnHGlobal (). Das funktioniert jedoch mit der IStream COM-Schnittstelle, es ist kein Ersatz für FILE. Sie können einen Blick auf den Cygwin-Quellcode werfen, um zu sehen, was sie getan haben.

    
Hans Passant 19.05.2010, 13:01
quelle

Tags und Links