-4

如何gzip.compressstring()使用 chilkat 的功能。语法是

bool CompressString(const char *inStr, const char *outCharset, CkByteData &outBytes);
// COMPRESSSTRING_END
// COMPRESSSTRINGTOFILE_BEGIN .but i dont know how to implement it in c++.

下面是我试图实现以下但没有成功的代码

CkGzip gzip;

bool success;
CkByteData data;
char buffer[100] = {0};
success = gzip.CompressString("helloworld", "utf8", data);
data = buffer;
cout << buffer;

if (success != true) {
    printf("%s\n", gzip.lastErrorText());
    return;
}

注意:我希望“hello world”以压缩形式作为输出。

4

1 回答 1

0

来自文档链接http://www.chilkatsoft.com/refdoc/vcCkGZipRef.html

bool CompressString(const char *inStr, const char *destCharset, CkByteData &outBytes);

Gzip 压缩一个字符串并将输出写入一个字节数组。该字符串首先转换为 destCharset 指定的字符集。典型的字符集是“utf-8”、“iso-8859-1”、“shift_JIS”等。

成功返回 true,失败返回 false。

这意味着用户需要执行以下操作: const char *instr = "test"; const char *destCharset = "utf-8"; // 或“iso-8859-1”、“shift_JIS”等 CkByteData outBytes; //也可以通过new在堆上分配

if (CompressString(inStr, destCharset, outBytes)) count << "success\n"; //现在用户可以戳里面 outBytes else cout << "fail\n";

于 2015-08-24T14:57:14.013 回答