Эквивалентный из open_memstream для MSVC

Я использую open_memstream в моей библиотеке, но я хотел бы портировать эту библиотеку на MSVC. Кажется, что нет никакой эквивалентной доступной функции, но есть ли что-то достаточно подобное?

То, что делает open_memstream, является им, берет символ ** место назначения и размер и возвращает ФАЙЛ*, в который Вы многие пишут, данные хранятся в динамично выделенном буфере (доступный от символа ** аргумент). При закрытии ФАЙЛА символ ** содержит данные, которые были записаны в поток. Это делает простой способ создать большие и сложные строковые потоки.

В то время как возможно и читать и искать от memstream, я только пишу в него.

Существует ли способ открыть подобный поток ФАЙЛА памяти в MSVC? Кроме того, это - чистый C, никакой C++.

9
задан Kate Gregory 27 May 2010 в 12:15
поделиться

1 ответ

Аналогичной функцией в Windows будет CreateStreamOnHGlobal (). Однако это работает с COM-интерфейсом IStream и не заменяет FILE. Возможно, вы захотите взглянуть на исходный код Cygwin, чтобы увидеть, что они сделали.

2
ответ дан 5 December 2019 в 02:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: