0
我試圖壓縮的文本文件QT:無法打開壓縮文件
QFile inFile("d:\\build\\Directories\\Debug\\files\\developer.txt");
bool open_file_result = inFile.open(QIODevice::ReadOnly);
QByteArray ba = inFile.readAll();
QFile file("d:\\build\\Directories\\Debug\\files\\developer.gz");
bool open_zip_result = file.open(QIODevice::WriteOnly);
QDataStream out(&file);
out << qCompress(ba);
file.close();
open_file_result
和open_zip_result
都是true
。我也可以看到zip文件(它也有一個大小,例如50KB),但我無法打開它。我收到以下錯誤:
The archive is either in unknown format or damaged.
我在做什麼錯?如果你有更好的/另一種方式來壓縮文本文件,請告訴我!
我不知道'QFile'任何特別,但我知道Windows需要你在'binary'模式下打開這樣的事情。有'QFile'這樣做的方法嗎? –
大概'qCompress'只是壓縮指定的數據,不寫了GZ文件頭。你應該打開任何gz文件並檢查它的頭部是否有一些「魔法」數據。並與你生成的一個進行比較。 – eraxillan