0

あるzip内のファイルを別のzipから移動するためにlibzipを使用しています。したがって、最初にzip_source_zipを使用してzip内のファイルからzip_sourceを作成し、次にzip_addを使用してファイルをzipに追加します。

しかし、それが何を意味するのか理解できないという議論があります。zip_source_zipの最初の引数。これがそのプロトタイプです:

struct zip_source * zip_source_zip(struct zip *archive, struct zip *srcarchive, zip_uint64_t srcidx, int flags, zip_uint64_t start, zip_int64_t len)

srcarchiveはファイルを取得するzip、srcidxは必要なファイルのzip内の位置、flagsはフラグ:P、startはファイルを取得する最初のバイト、lenはからのバイト数です。始める。

しかし、私は最初の引数のアーカイブが何を意味するのか理解していません。宛先zipのポインターを入れましたが、機能しませんでした。

この最初の議論が何を意味するか知っていますか?ありがとうございました!

PS:関数が説明されているページは次のとおりです:http ://www.nih.at/libzip/zip_source_zip.html

4

1 に答える 1

1

それぞれzip_sourceが操作対象の ZIP アーカイブに関連付けられている必要があります (たとえば、zip_add()関数を使用して、ソースのコンテンツをその特定の zip アーカイブに追加できます)。zip_sourceをメモリ バッファから作成するか ( を使用zip_source_buffer())、読み取り用に開いた別の ZIP アーカイブから作成するか (何を行っているか)、または他の方法を使用して作成するかは問題ではありません。基本的に、最初の ZIP アーカイブは、オブジェクトのコンテンツを追加するときに変更されるターゲットでzip_sourceあり、2 番目の ZIP アーカイブ引数は、コンテンツがソースにコピーされるものです。

于 2013-02-19T16:43:23.360 に答える