zlib обертка iostream с поддержкой потока

Мне нужна оболочка iostream для zlib, которая позволяет добавлять данные в конец существующего потока.

Функция gzopen () в режиме добавления следует следующему правилу. «При добавлении gzopen не проверяет, начинается ли файл с потока gzip, и не ищет конца потоков gzip, чтобы начать добавление. Gzopen просто добавляет поток gzip к существующему файлу». Например. открытие файла с опцией «а» создаст файл с несколькими сжатыми потоками.

Оболочка gzofstream для zlib перевести std :: ios_base :: app в список параметров в режим «ab» функции gzopen (). В результате gzofstream также создаст файл с несколькими потоками.

Однако в моем приложении мне нужно альтернативное поведение. Главный модуль должен открыть файл в режиме добавления (с параметром std :: ios_base :: app), записать небольшую часть данных в конец существующего потока и закрыть файл. Например, файл всегда должен содержать не замужем сжатый поток после нескольких операций открытия / закрытия.

Пример gzlog от zlib имеет функциональность, близкую к требуемой. Тем не менее, это чистый C.

Можете ли вы предложить несколько готовых решений для моей задачи?

2

Решение

Похоже, что готового решения для этого случая не существует: оболочки iostream не поддерживают операцию добавления.

Я реализовал собственный код на основе gzlog и чистого C (не C ++).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]