2011-11-22 62 views
3

我正在使用zlib來壓縮數據,但我需要在內存中創建一個有效的gzip文件。在內存中創建一個gzip文件尋找cpp示例

我該如何正確地做到這一點?

我需要該文件在內存中,但我不知道如何組裝它而不寫入磁盤。

我已經環顧四周,但沒有一個明確的例子顯示瞭如何。

我知道這裏有一個gz_header,但我不確定文件中偏移量的位置或處理方式。顯然可以有一個預告片?

+3

方面建議:您提出了很多問題,但都沒有接受。試着回顧一下你的問題,看看實際回答你想要的並接受這些答案。 – Shahbaz

+0

抱歉沒有意識到它。我已經標出了我所能做到的。 – cynistersix

回答

3

您可以使用Boost.Iostream with Gzip filters來壓縮數據。您可以調整示例以使用內存流而不是文件流。

+0

我不確定如何使用他們的庫。我試圖「包含核心組件」hpp文件,並且我的make文件中出現了很多奇怪的錯誤。我想我需要建立他們的庫,而不是隻包括頭文件來使用這些功能。 – cynistersix

+0

我收到此錯誤:錯誤:'filtering_streambuf'未在此範圍內聲明。我只是複製他們的例子,並通過我的生成文件包括文件夾。我改變的代碼是古老的C++,所以我不確定我是否可以遞歸地告訴它檢查包含文件的子文件夾。 – cynistersix

+1

使用命名空間boost :: iostreams; //添加了這一行。 修復了錯誤。現在就瞭解如何使用他們的庫 – cynistersix

相關問題