-1

プログラムコードで zlib ライブラリを使用しています。最初にファイルを抽出しようとしたとき、zip アーカイブ内の小さなエントリに対してうまく機能し、基本的に以下の関数を呼び出します。

unzOpenCurrentFile (unzFile file)

unzReadCurrentFile  (unzFile file, voidp buf, unsigned len)

unzCloseCurrentFile (unzFile file)

bufそのエントリのデータを保持するメモリ ポインタ (またはバイト配列) です。しかし、大きなサイズのエントリが発生した場合、私のプログラムは 10000000 サイズの配列を作成できません。FILE*また、通常のメモリの代わりにポインターを渡そうとしましたが、役に立ちませんでした。

4

1 に答える 1

1

実際、私はこの unzReadCurrentFile() 関数を不適切に使用していました。これにより、小さなバッファーで部分ごとに読み取ることができ、コピーされたバイト数が返され、> 0 が返されるまでループオーバーできます。

于 2013-02-21T09:34:09.250 に答える