Мне нужно сжать несколько файлов в Qt.Я пытаюсь Quazip.Но zip-файл содержит файлы размером 0 КБ.Что-то идет не так.Может ли кто-нибудь помочь мне здесь!Код для архивирования приведен здесь:
QString testZip = location + "/tempTheme/test.zip";
QuaZip zip(testZip);
zip.setFileNameCodec("IBM866");
if(!zip.open(QuaZip::mdCreate)) {
qWarning("testCreate(): zip.open(): %d", zip.getZipError());
}
zip.setComment("Test comment");
QFileInfoList files=QDir(location + "/tempTheme/").entryInfoList();
QFile inFile;
QuaZipFile outFile(&zip);
char c;
foreach(QFileInfo file, files) {
if(!file.isFile()||file.fileName()=="test.zip") continue;
inFile.setFileName(file.fileName());
if(!inFile.open(QIODevice::ReadOnly)) {
qWarning("testCreate(): inFile.open(): %s", inFile.errorString().toLocal8Bit().constData());
}
if(!outFile.open(QIODevice::WriteOnly, QuaZipNewInfo(inFile.fileName(), inFile.fileName()))) {
qWarning("testCreate(): outFile.open(): %d", outFile.getZipError());
}
while(inFile.getChar(&c)&&outFile.putChar(c));
if(outFile.getZipError()!=UNZ_OK) {
qWarning("testCreate(): outFile.putChar(): %d", outFile.getZipError());
}
outFile.close();
if(outFile.getZipError()!=UNZ_OK) {
qWarning("testCreate(): outFile.close(): %d", outFile.getZipError());
}
inFile.close();
}
zip.close();
if(zip.getZipError()!=0) {
qWarning("testCreate(): zip.close(): %d", zip.getZipError());
QMessageBox msgInfo;
msgInfo.information(this, "blah", "done");
}