我使用qUncompress
解压缩最初在Mac OS X中压缩的文件(右键单击 - >压缩)
我的代码如下:
QString location = "/path/to/file/";
QFile infile(location + "file.zip");
QFile outfile(location + "file.app");
infile.open(QIODevice::ReadOnly);
outfile.open(QIODevice::WriteOnly);
QByteArray uncompressedData = infile.readAll();
QByteArray compressedData = qUncompress(uncompressedData);
outfile.write(compressedData);
infile.close();
outfile.close();
但是我收到了这个错误:
qUncompress: Z_DATA_ERROR: Input data is corrupted
任何想法可能出错?
答案 0 :(得分:0)
@Dmitry Sazonov是对的。 qUncompress是针对Qt如何存储媒体数据而设计的。它以压缩形式将媒体数据存储在二进制文件中的字符串中,其中qUncompress在执行期间使用。它不会帮助你.zip文件。
根据zlib网站常见问题解答,zlib无法对zip文件进行充气。该FAQ的作者推荐minizip。