zip_fopen_index |
ZIP : Ouvre un fichier par index |
---|---|
libzip |
Syntaxe
zip_file_t * zip_fopen_index(zip_t *archive, zip_uint64_t index, zip_flags_t flags); |
Retour
Une fois l'opération terminée avec succès, un pointeur struct zip_file est renvoyé. Sinon, NULL est renvoyé et le code d'erreur dans l'archive est défini pour indiquer l'erreur.
Description
Cette fonction permet d'ouvrir un fichier dans l'archive ZIP en utilisant son index.
Remarques
- La fonction zip_fopen() ouvre le fichier fname dans l'archive. Le paramètre flags spécifie comment la recherche de nom doit être effectuée, selon les valeurs décrites dans zip_name_locate(). De plus, les valeurs suivantes peuvent lui être associées par un OU :
- La fonction zip_fopen_index() ouvre le fichier à la position index.
- Si des données chiffrées sont rencontrées, les fonctions appellent respectivement zip_fopen_encrypted() ou zip_fopen_index_encrypted(), en utilisant le mot de passe par défaut défini avec zip_set_default_password().
Constante | Description |
---|---|
ZIP_FL_COMPRESSED | Lire les données compressées. Sinon, les données sont décompressées par zip_fread(). |
ZIP_FL_UNCHANGED | Lisez les données originales de l'archive zip, en ignorant les modifications apportées au fichier ; cette option n'est pas prise en charge par toutes les sources de données. |
Erreurs
Constante | Description |
---|---|
ZIP_ER_CHANGED | Les données du fichier ont été modifiées et la source de données ne prend pas en charge la relecture des données. |
ZIP_ER_COMPNOTSUPP | La méthode de compression utilisée n'est pas prise en charge. |
ZIP_ER_ENCRNOTSUPP | La méthode de cryptage utilisée n'est pas prise en charge. |
ZIP_ER_MEMORY | La mémoire requise n'a pas pu être allouée. |
ZIP_ER_NOPASSWD | Le fichier est crypté, mais aucun mot de passe n'a été fourni. |
ZIP_ER_READ | Une erreur de lecture de fichier s'est produite. |
ZIP_ER_SEEK | Une erreur de recherche de fichier s'est produite. |
ZIP_ER_WRONGPASSWD | Le mot de passe fourni ne correspond pas au mot de passe utilisé pour le chiffrement. Notez que certains mots de passe incorrects ne sont pas détectés par la vérification effectuée par zip_fopen(). |
ZIP_ER_ZLIB | L'initialisation du flux zlib a échoué. |
La fonction zip_fopen() peut également échouer et définir zip_err pour l'une des erreurs spécifiées pour la routine zip_name_locate().
La fonction zip_fopen_index() peut également échouer avec ZIP_ER_INVAL si l'index n'est pas valide.
Historique
zip_fopen() et zip_fopen_index() ont été ajoutés dans libzip 1.0.
Voir également
libzip(), zip_fclose(), zip_fread(), zip_fseek(), zip_get_num_entries(), zip_name_locate(), zip_set_default_password()
Dernière mise à jour : Mercredi, le 5 Février 2025