12

フォルダーを .zip ファイルに圧縮するコード、または .zip ファイルをフォルダーに解凍するコードを記述したいと考えています。それをサポートするライブラリが必要だと思いますが、そうですか? もしそうなら、私が使用すべき特定のライブラリはありますか? Linux マシン (Ubuntu) で C++ でコードを書きたいと考えています。助けてくれてありがとう。

4

6 に答える 6

9

これをより高度な方法で行う場合は、 (または他のプロセス開始メカニズム)を使用して C++ からコマンドzipとコマンドを直接呼び出すことができます。これらのユーティリティは、Ubuntu でデフォルトで使用できます。unzipsystem()

于 2012-08-17T19:07:56.640 に答える
8

私はzlibをお勧めします。これは C で書かれていますが、十分にテストされており、何年も使用されており、想像できるほとんどすべてのプラットフォームで移植可能です。

于 2012-08-17T19:06:58.407 に答える
7

LZMA/7 Zipライブラリをお勧めします。さまざまな圧縮形式をサポートし、ほぼすべての種類の (OS) 環境で使用できます。ライブラリ API は C で記述されており、目的に合わせて必要なもの (解凍、圧縮、またはその両方) を簡単に選択できます。また、あらゆる種類のプロジェクト (商用または OS) で簡単に使用できるオープン ソース ライセンスも付属しています。

このライブラリは、多くの組み込みプロジェクトで成功裏に使用されています。

于 2012-08-17T19:46:11.633 に答える
5

Rich Geldreich の minizを見てください。

于 2013-09-15T21:05:54.090 に答える
4

libzipを試してください。私は使用していませんが、ZIP アーカイブ内の圧縮ファイルにアクセスするための stdio API に非常によく似た API を提供しているようです。

于 2012-08-17T19:13:36.467 に答える
-1

独自の解凍ロジックを作成することはそれほど難しくありません (解凍に zlib を使用します)。(私はこれを行いました。) zip を書くのはもう少し難しいですが、実行可能です。

zip 仕様はオンラインでここにあります

于 2012-08-17T19:11:18.803 に答える