zlib压缩解压
int Compress(const std::vector<unsigned char> &input, std::vector<unsigned char> &output)
{
unsigned long dstLen = input.size();
output.resize(dstLen);
int iret = compress(&output[0], &dstLen, &input[0], input.size());
if (Z_OK == iret) { output.resize(dstLen); }
return iret;
}
int UnCompress(const std::vector<unsigned char> &input, std::vector<unsigned char> &output)
{
unsigned long dstLen = input.size();
int iret = Z_OK;
int offset = 1;
do
{
dstLen = (dstLen << offset);
output.resize(dstLen);
iret = uncompress(&output[0], &dstLen, &input[0], input.size());
++offset;
} while (Z_BUF_ERROR == iret);
if (Z_OK == iret) { output.resize(dstLen); }
return iret;
}
zlib压缩解压
最新推荐文章于 2023-06-26 21:26:02 发布