Здравствуйте, loknalori, Вы писали:
L>Хочется создать gz файл с помощью Zlib но в оперативной памяти. Т.е. чтобы gzwrite писал не в файл на ЖД, а в оперативную память.
L>Или второй вариант. Как результат compress() записать в файл так чтобы он валидно открывался архиваторами?
Про второй вариант — посмотри в примеры, что идут вместе с либой — там есть minigzip — это должно помочь.
А оп поводу первого вопроса — варианта на самом деле 2...
1) Переписать функции gzopen и иже с ними для работы с буфером (я делал так когда пришлось изменячть старый код
2) Был тут пример с манипуляцией элементов структуры FILE, чтобы она была ассоциирована с буфером а не файлом.
Надеюсь, что хоть чем-то помог.
Здравствуйте, loknalori, Вы писали:
L>Хочется создать gz файл с помощью Zlib но в оперативной памяти. Т.е. чтобы gzwrite писал не в файл на ЖД, а в оперативную память.
Можно через Boost.Istreams
Здравствуйте, loknalori, Вы писали:
L>>FILE* в памяти — в точку. Большое спасибо.
L>Идем далее L>FILE* указывающий на память это хорошо, НО! L>конкретно мне нужен _fileno(FILE*), ибо
Здравствуйте, Vladimir D Belousov, Вы писали:
VDB>А под какую платформу? Может тогда mmap?
Неоднозначно выразился.
И имел ввиду — получить декриптор путем open (что вам не подходит?) или shm_open (что может не подойти),
и потом отобразить себе в память этот файл или объект разделяемой памяти.
Здравствуйте, Vladimir D Belousov, Вы писали:
VDB>Здравствуйте, loknalori, Вы писали:
L>>мне нужно чтобы на жестком диске файл не создавался.
VDB>А Вам нужно т.с. портабельное решение, или под конкретную платформу?
win32