2011-03-19 21 views
20

Zlib hakkında güzel bir eğitim arıyorum. Sadece arşivlerin sıkıştırılmasıyla ilgileniyorum. Ayrıca bir arşiv içinde istenen bir dosyaya nasıl erişebileceğimi bilmek istiyorum, tercihen tek başına dosya adıyla, eğer zlib'de yapılabilirse.Ne kolay zlib öğreticiler var?

+0

Ne tür bir arşiv? zip? –

+0

Tercihen, evet, ama zorunlu olarak değil. –

+3

Zlib'in sadece bir veri akışını sıkıştırmak için olduğunu unutmayın. Zip veya katran gibi arşiv veya dosya koleksiyonlarıyla uğraşmak için değil, diğer formatlar zlib'in işleyişini dahili olarak kullanabilir. – nos

cevap

30

http://zlib.net/zlib_how.html Eh pek zlib makaleler, ipuçları ve öğreticiler var bakın. Bunlardan bazıları şunlardır

1) Bobobobo Blogu

Web sitesi: http://bobobobo.wordpress.com/2008/02/23/how-to-use-zlib/

Bu makale temelde zlib nasıl kullanılacağını anlatır ve kod snippet'idir oradaki olacaktır Gitme. Bu projesi, zlib'in nasıl kullanılacağını gösterir. Onun bir bir konsol projesi, zlib kullanımı kullanımını göstermek için bir pencere oluşturmanız gerekir çünkü.

2) zlib: Sizin C/C++ Apps Sanayi Mukavemet Sıkıştırma ekle

Web sitesi: http://www.codeguru.com/cpp/cpp/algorithms/compression/article.php/c11735 Basitlik uğruna

, bu öğretici sadece temel C- kapsar stil arabirimi. Buradaki tüm kavramları, diğer birçok bağlama ile ilgili olacaktır. C dilinde olduğundan, , gereksinimleriniz için en yararlı olacaktır. Son olarak, zlib bu çok müsait kullanabilirsiniz

... Zlib bunları içerir. Kılavuzda "Yardımcı İşlevler" altında bir göz atın. Burada bahsetmemiz

ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, 
            const Bytef *source, uLong sourceLen)); 
+16

Utanmaz fiş için ilk makaleyi – bobobobo

+3

@bobobobo +1 tavsiye ederim! :) –

+0

İkinci bağlantı öldü. – 0xcaff

4

0

zlib kullanmanın en basit yolu, herhangi bir ham işaretçi manipülasyon yapmak gerekmez çünkü zlibcomplete kütüphane kolaylaştırır

https://github.com/rudi-cilibrasi/zlibcomplete

ile C++ içindedir. RAII (Kaynak Ayırma, Başlatmadır) temel alınarak yapılır; bu, tüm dinamik ayırma ve ayrılma öğelerinin yapıcılarda otomatik olarak gerçekleştiği anlamına gelir.

Boost zlib sarmalayıcısından daha iyidir çünkü (etkileşimli ağ protokolleri için gereklidir) temizlemeyi destekler ve kullanımı daha kolaydır. Zlibcomplete kitaplığı, veri göndermek ve almak için yalnızca düzenli std :: string kullanır, böylece gelişmiş bilgi gerekmez.