問題タブ [quazip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - QuaZip を使用して QStream を zip 内のファイルに書き込む
QuaZip を使用して ziparchive 内のテキスト ファイルに QString を書き込みたい。WinXP で Qt Creator を使用しています。私のコードでは、アーカイブ内のテキスト ファイルが作成されますが、空です。
QFile を試してみると、期待どおりに動作します。
私はtest.xmlで正しいコンテンツを見つけたので、文字列はそこにありますが、どういうわけかQTextStreamはQuaZipFileで動作したくありません.
QTextStream の代わりに QDataStream を使用すると、出力はありますが、正しいものではありません。QDomDocument ドキュメント; /* doc はいくつかの XML データで満たされています */
test.zip の foo.xml にはいくつかのデータが含まれていますが、フォーマットが間違っています (各文字の間に余分な「ヌル」文字があります)。
zipアーカイブのテキストファイルに文字列を書き込むにはどうすればよいですか?
ありがとう、ポール
qt - quazip::getFileNameList の QStringList が破壊によりエラーをキャストする
Qt Creator(qt 4.8、winxp)で書いた
ファイルが破棄されると、メッセージボックスに次のように表示されます
デバッグ アサーションに失敗しました!
式: _CrtIsValidHeapPointer(pUserData)
デバッガーには、次の関数スタックがあります。
qlist.h の 433 行目で、デバッガーが停止します。
エラーは、::getFileNameList() を呼び出した場合にのみ発生します。リスト マニュアルを入力すると、正常に動作します。quazip を使用した他の操作は機能します。データを解凍および圧縮できますが、getFileNameList だけが問題を引き起こします。
編集:私は原因を見つけました:私が使用した quazip1.dll は、この問題が発生したデバッグ実行でのみ、それのリリース バージョンでした。したがって、デバッグ quazip.dll を使用すると、正常に動作します。迷惑なことに同じ名前なので、デバッグからリリースに切り替えるたびに名前を変更する必要があります。誰でもこれに対する回避策を知っていますか?
c++ - ディレクトリ/フォルダをquazipで圧縮するにはどうすればよいですか?
zipしたいファイルとフォルダのあるディレクトリがあります。qt-projectquazipを使用しています。そこで、ファイル構造を含むディレクトリのすべてのコンテンツをパックする関数を作成しようと思いました。
zipファイルにフォルダを作成するにはどうすればよいですか?QuaZipNewInfoで試しましたが、動作しませんでした。
たとえば、次のコンテンツを使用してtmp-folderを圧縮します。
一般的なアーカイブツール(アーカイブユーティリティ)でファイルを抽出した後に得られるものは次のとおりです。
これは私がこれまでに持っているものです:
そして、これは私が関数を呼び出す方法です:
qt - QuaZIPで空のフォルダを作成する方法
QuaZIPを使用してZIPファイル内にフォルダーとファイルを正常に作成しましたが、フォルダーを作成するために、ZIPファイル内に名前のないファイルを作成する、エレガントではない方法を使用しました。そのフォルダー内にファイルを作成せずに、ZIP ファイル内に空のフォルダーを作成する方法はありますか?
フォルダーを作成するコード:
qt - Windows 7 で Quazip 0.5.1 をビルドするには?
Qt 5.0.1 32 ビット LGPL がインストールされた Windows 7 (32 ビット) で quazip ライブラリ (バージョン 0.5.1) をビルドしようとしています。
Qt-Commandprompt で実行すると:
Quazip を解凍したフォルダー (C:\Qt\quazip-0.5.1\quazip) にディレクトリを設定すると、次のエラー ログが表示されます。
しかし、私の Zlib フォルダー (C:\Qt\Qt5\5.0.1\Src\qtbase\src\3rdparty\zlib) には、この一覧にあるすべてのファイルがインストールされています。
.
問題を解決しようとして、quazip.pro と quazip.pri に以下を追加しました。
、ここでどのように提案されているか。
これまでに Google で見つけた他のすべての解決策は役に立ちません。
あなたの誰かが私を助けてくれることを願っています。
こんにちは、LVreg
c++ - QuaZip を使用して複数のファイルを抽出するにはどうすればよいですか?
以下のコードを使用して、zip アーカイブ内のフォルダーとファイルのリストを移動し、それらを作成します (まだ作成されていない場合はファイルのパスも作成します)。
を使用readData(char*, qint64)
して内部ファイル データを抽出し、QFile
. これを使用するのは適切ではないと思いますが、私が見たのはこれだけです (このサイトの非常に緩い例で)。また、関数を公開するために QuaZipFile.h を変更して、使用できるようにする必要がありました (また、私はそれを使用すべきではないことをほのめかしています)。
内容のない最初のファイルではクラッシュしませんが、その後はクラッシュします。必要なコードは次のとおりです (もっと見る必要があるかどうか尋ねてください)。
int len
それは一線を越えません。ここで何を使用すればよいですか?変数ファイルは、次のようにかなり前に定義されていることに注意してください。
また、readData に渡される int は、最大データ サイズの乱数です。
c++ - フォルダと内容を zip 内から QuaZIP を使用して別の場所にコピーしますか?
フォルダー (およびフォルダーの内容) を zip 内からコピーし、コピーしたバージョンのフォルダーを別の場所に移動するにはどうすればよいですか?
これを可能にするQuaZipDirの機能は見当たりませんでした。ファイルを解析してから作成して書き込むよりも簡単な方法があることを願っています。
たとえば、zip が次のようになっているとします。
- ジップ
- フォルダ
- ファイル #1
- ファイル #2
- ファイル #3
- フォルダ
私はQtでQuaZIPを使用しています。
qt - QT5.1.1 QuaZip エラー: 「QuaZip::goToFirstFile(): ZIP が mdUnzip モードで開かれていません」
圧縮ファイルを解凍するコードがいくつかあります。そのコードは以前は機能していましたが、新しい Linux Ubuntu システムと新しい QT 5.1.1 クリエーターをインストールしたところ、そのコードは機能しなくなりました。必要なパッケージもいくつかインストールしましたが、エラーなしでコンパイルされます。エラー結果に関連する指示は次のとおりです。
なぜこのエラーが発生するのだろうか。一部のライブラリが欠落しているなどの理由がありますか?
c++ - QuaGzipFile (QuaZIP ライブラリ) で読み取られたデータの進行状況を報告する方法
Ubuntu 12.04 x86_64 で C++ 用の Qt 5.1.1 で QuaZIP 0.5.1 を使用しています。
私のプログラムは、gzip で圧縮された大きなバイナリ ファイル (通常は 1 GB 以上の圧縮されていないデータ) を読み取り、その上でいくつかの計算を行います。計算量は多くなく、ほとんどの時間は I/O で渡されます。そのため、ファイルのデータの読み取り量を報告する方法を見つけることができれば、進行状況バーで報告し、ETA の見積もりを提供することもできます。
私はファイルを開きます:
ただし、QuaGzipFile には、ファイル サイズや現在の位置を見つける機能はありません。
非圧縮ストリームのサイズと位置を見つける必要はありません。進行状況の大まかな見積もりで十分なので、圧縮ストリームのサイズと位置は問題ありません。
現在、を使用して、圧縮ファイルのサイズを見つけることができますQFile(fileName).size()
。また、の戻り値の合計を保持することで、圧縮されていないストリーム内の現在の位置を簡単に見つけることができますgzip.read()
。しかし、これら 2 つの数値は一致しません。
必要に応じて、QuaZIP ライブラリを変更し、内部の zlib 関連のものにアクセスできます。