hola estoy liado con la zlib, pero la verdad es que no se por donde empezar, pero tengo clara la unica utilidad que le quiero dar, me gustaria saber si existe la manera de indicarle que quiero descomprimir un solo archivo de varios que estan dentro, es decir, si tenemos tres archivos dentro de un .zip llamados: archivo1, archivo2 y archivo3 indicarle que me descomprima el archivo2 solamente por ejemplo, he buscado algun que otro tutorial al respecto y no he encontrado nada.
Zlib no incluye funcionalidad para trabajar con ficheros .zip, sólo con .gz. Aunque su propósito principal es únicamente comprimir y descomprimir bloques de datos, desentendiéndose del concepto de fichero.
Si buscas verás alguna que otra librería para trabajar con ficheros .zip. O tambien puedes mirar el código fuente del Irrlicht, por ejemplo, que se maneja perfectamente con los .zip.
Gracias, tendre que mirarlo a ver, por que no me veo con animo de ponerme a hacer mi propio descompresor de zip :?
También puedes mirarte la unrarlib (http://www.unrarlib.org/) que tiene un interfaz muy sencillo, aparte de aprovecharte del formato rar que por lo general tiene mejor ratio de compresión.
En todo caso si sigues queriendo trabajar con zlib te recomiendo el unzip de Gilles Vollant, que es un api que usando zlib te simplifica las operaciones de éste a un par de funciones.
Hace bastante tiempo ya que lo usé pero dudo que hayan cambiado el api. Simplemente añades a los ficheros del zlib un unzip.h y unzip.h y listo.
url (http://www.winimage.com/zLibDll/minizip.html)
Si te animas a probar esta:
http://www.unrarlib.org./
Parece prometedora pero no le tengo mucha confianza.
Otro es 7zip pero no encontre referencia.
Saludos.
Hola,
lo mismo te vale la #ziplib de ICSharCode:
http://sharpdevelop.net/OpenSource/SharpZipLib/Default.aspx
Un saludo!
Vicente
Cita de: "Pogacha"Si te animas a probar esta:
http://www.unrarlib.org./
Parece prometedora pero no le tengo mucha confianza.
Saludos.
No le tienes mucha confianza por qué? :)
Yo la uso y funciona a la perfección, y el api más sencillo imposible.
Por que no la conocia para nada (no conozco gente que la use) y su página me da un poco de espina con todo ese rojo :P
Rescato este hilo.
El caso es que quiero darle soporte a LooverLib para packs comprimidos con algo que sea multiplataforma y opensource. He mirado de todo, empezando por el pack de Zaelsius (lástima que no comprima y que sea solo para windows).
Ahora mismo estoy intentando decidirme entre:
Minizip
Pros:
- Multiplataforma
- Todo el mundo tiene un compresor de zip en su ordenador.
Contras:
- Algo liante de usar
- El código está en c, no en c++.
- Los wrappers que existen para c++ son feos o matan la portabilidad.
Unrarlib
Pros:
- Multiplataforma
- C++
- Super fácil de usar
Contras:
- Menos extendido que zip, no todo el mundo tiene el winrar instalado.
- Ya no se trabaja más en ella
- No funciona para los RAR3
También estoy viendo implementanciones usando streams, como zipstream o gzstream. Pero no sé, tampoco me convencen del todo ni sé si podría portarlos a Mac llegado el caso.
¿Alguien aporta algo adicional? ¿Sugerencias?
pos me quedo con el rar :P.
Esta mas entendido de lo que crees, y aparte, los demas compresores suelen poder descomprimir otros formatos. Al menos el dios RAR puede descomprimir de todo... xD
Pero no leería los rar a partir de cierta versión del winrar. Es decir, leería los RAR2, no los RAR3.
¿7zip?
quizas te interese mirar tambien : http://icculus.org/physfs/
Cita de: "Mars Attacks"¿7zip?
Lo secundo, el mejor ratio de compresión, abierto ...