zip_open |
ZIP : Ouvrir |
---|---|
libzip |
Syntaxe
zip_t * zip_open(const char *path, int flags, int *errorp); |
Retour
Une fois l'opération terminée avec succès, zip_open() et zip_open_from_source() renvoient un pointeur struct zip. Sinon, NULL est renvoyé et zip_open() définit *errorp pour indiquer l'erreur, tandis que zip_open_from(source) définit ze pour indiquer l'erreur.
Description
Cette fonction permet d'ouvrir une archive ZIP.
Remarques
- La fonction zip_open() ouvre l'archive zip spécifiée par path et renvoie un pointeur vers une structure zip, utilisée pour manipuler l'archive. Les indicateurs sont spécifiés en utilisant le OU des valeurs suivantes, ou 0 pour aucune d'entre elles.
- Si une erreur se produit et que errorp n'est pas NULL, il sera défini sur le code d'erreur correspondant.
- La fonction zip_open_from_source() ouvre une archive zip encapsulée par le zs zip_source en utilisant les indicateurs fournis. En cas d'erreur, le ze zip_error est renseigné.
Constante | Description |
---|---|
ZIP_CHECKCONS | Effectuez des contrôles de cohérence supplémentaires plus stricts sur l'archive et génèrez une erreur en cas d'échec. |
ZIP_CREATE | Crée l'archive si elle n'existe pas. |
ZIP_EXCL | Erreur si l'archive existe déjà. |
ZIP_TRUNCATE | Si l'archive existe, ignorez son contenu actuel. En d'autres termes, traitez-la de la même manière qu'une archive vide. |
ZIP_RDONLY | Ouvrir l'archive en mode lecture seulement. |
Erreurs
L'archive spécifiée par path est ouverte sauf si :
Constante | Description |
---|---|
ZIP_ER_EXISTS | Le fichier spécifié par path existe et ZIP_EXCL est défini. |
ZIP_ER_INCONS | Des incohérences ont été trouvées dans le fichier spécifié par path. Cette erreur est souvent causée par la spécification de ZIP_CHECKCONS mais peut également se produire sans elle. |
ZIP_ER_INVAL | Le paramètre du chemin est NULL. |
ZIP_ER_MEMORY | La mémoire requise n'a pas pu être allouée. |
ZIP_ER_NOENT | Le fichier spécifié par path n'existe pas et ZIP_CREATE n'est pas défini. |
ZIP_ER_NOZIP | Le fichier spécifié par path n'est pas une archive zip. |
ZIP_ER_OPEN | Le fichier spécifié par path n'a pas pu être ouvert. |
ZIP_ER_READ | Une erreur de lecture s'est produite ; voir errno pour plus de détails. |
ZIP_ER_SEEK | Le fichier spécifié par path n'autorise pas les recherches. |
Pour les archives nouvellement créées, zip_open() n'essaie pas de créer le fichier ; cela est fait lors de l'appel de zip_close() et toutes les erreurs, comme les autorisations d'écriture manquantes, seront alors signalées.
Historique
zip_open() et zip_open_from_source() ont été ajoutés dans libzip 1.0.
Exemple
Voici un exemple de la manière dont vous pouvez signaler des erreurs lors de zip_open :
Voir également
libzip(), zip_close(), zip_error_strerror(), zip_fdopen()