我在数组中有一些数据,
uchar *data = "Data to be compressed."; [Some data]
我想压缩( gz )这些数据并在缓冲区中输出。
uchar gzData[MAX_LEN];
一种方法是:
1. Creating a `ogzstream` object.
2. Writing this data into a temporary file
3. close the temporary file.
3. Create a `ifstream` object.
4. Read the temporary file into buffer using ifstream object .
但我不想使用临时文件,因为它会减慢整个过程。
有没有直接的方法来压缩这些数据而不使用任何中间文件?
答案 0 :(得分:0)
您可以使用过滤streambuf
即时执行此操作。这很容易做到,但是Boost :: Iostreams已经为你完成了。