以下のコードを使用して、zip アーカイブ内のフォルダーとファイルのリストを移動し、それらを作成します (まだ作成されていない場合はファイルのパスも作成します)。
を使用readData(char*, qint64)
して内部ファイル データを抽出し、QFile
. これを使用するのは適切ではないと思いますが、私が見たのはこれだけです (このサイトの非常に緩い例で)。また、関数を公開するために QuaZipFile.h を変更して、使用できるようにする必要がありました (また、私はそれを使用すべきではないことをほのめかしています)。
内容のない最初のファイルではクラッシュしませんが、その後はクラッシュします。必要なコードは次のとおりです (もっと見る必要があるかどうか尋ねてください)。
QFile newFile(fNames);
newFile.open(QIODevice::WriteOnly);
QTextStream outToFile(&newFile);
char * data;
int len = file.readData(data, 100000000);
if(len > 0) {
outToFile << data;
}
newFile.close();
int len
それは一線を越えません。ここで何を使用すればよいですか?変数ファイルは、次のようにかなり前に定義されていることに注意してください。
QuaZip zip("zip.zip");
QuaZipFile file(&zip);
...
zip.goToFirstFile();
...
zip.goToNextFile();
また、readData に渡される int は、最大データ サイズの乱数です。