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 ++.
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.
Tags und Links c visual-c++ posix