0

クライアントマシンサーバーには、次のような既存のディレクトリ構造がある可能性があります。

-|
 +css
  |-ABC
  |-EFG
  |-XYZ
 +img
  |-ABC
  |-EFG
  |-XYZ
 +js
  |-ABC
  |-EFG
  |-XYZ
 +htm
  |-ABC
  |-EFG
  |-XYZ

お客様にeコマースWebサイトの更新を送信する場合、次の構造のzipファイルで送信します。

-|
 +css
  |-UniqueDirectory
 +img
  |-UniqueDirectory
 +js
  |-UniqueDirectory
 +htm
  |-UniqueDirectory

...ここで、UniqueDirectoryは常に同じ名前です。

そうは言っても、Visual C ++ 2005を使用して、既存のディレクトリ(もちろん、UniqueDirectoryを除く)を上書きせずに、顧客に送信するzipファイルを解凍するプログラムを作成する方法はありますか。上書きされます)。

クライアントマシンでファイルを解凍した後の最終結果は次のようになります。

-|
 +css
  |-ABC
  |-EFG
  |-UniqueDirectory
  |-XYZ
 +img
  |-ABC
  |-EFG
  |-UniqueDirectory
  |-XYZ
 +js
  |-ABC
  |-EFG
  |-UniqueDirectory
  |-XYZ
 +htm
  |-ABC
  |-EFG
  |-UniqueDirectory
  |-XYZ

これはC++を使用して実行できますか?私のクライアントは、ファイルを正しいディレクトリに解凍するための技術的なスキルを持っていません。また、必ずしも解凍プログラムをインストールする必要はありません。

外部ライブラリが必要ですか?できれば、Visual C ++ 2005のライブラリだけを使用してこれを実行したいのですが、外部ライブラリが必要な場合は、それが何と呼ばれるかを知りたいと思います。

4

2 に答える 2

2

VS2005 で利用可能なものだけを使用して圧縮/解凍アルゴリズムを自分で実装したい場合を除き、ライブラリを使用して作業を行うことを検討する必要があります。zlibをお勧めします。それは無料です。

サイトにハウツーがあります。

編集:あなたのコメントの質問に答えて、はい、VS2005 でビルドするのに十分古いです。最新のソースをダウンロードしたところ、.dll. ダウンロードしたコピーは「zlib source code, version 1.2.3, zipfile format」でした。ファイルを解凍したら、/projects/visualc6/ ディレクトリを探します。そこからライブラリを構築できるはずです。

または、コンパイル済みのライブラリを zlib サイトからダウンロードすることもできます。ソースファイルのダウンロードに「zlib コンパイル済み DLL、バージョン 1.2.3、zipfile 形式」としてリストされています。

編集: zlib はCライブラリであることに注意してください。C++ライブラリを探している場合は、基本的に zlib の C++ ラッパーであるgzstreamを試すことができます。

于 2009-12-02T17:33:34.793 に答える
0

いいえ、MFC/ATL にはそのような機能はありません。Visual Studio と共にインストールされ、C++/CLI 経由で使用できる J# 再頒布可能パッケージを数えない限り、外部ライブラリが必要になるか、車輪を再発明する必要があります。

于 2009-12-02T17:28:58.457 に答える