Section courante

A propos

Section administrative du site

zip_file_add

ZIP : Ajout de fichier
libzip

Syntaxe

zip_int64_t zip_file_add(zip_t *archive, const char *name, zip_source_t *source, zip_flags_t flags);

Retour

Une fois l'opération terminée avec succès, zip_file_add() renvoie l'index du nouveau fichier dans l'archive et zip_file_replace() renvoie 0. Sinon, -1 est renvoyé et le code d'erreur dans l'archive est défini pour indiquer l'erreur.

Description

Cette fonction permet d'ajouter un fichier à une archive ZIP ou remplace un fichier existant.

Remarques

Erreurs

zip_file_add() et zip_file_replace() échouent si :

Constante Description
ZIP_ER_EXISTS Il existe déjà un fichier appelé nom dans l'archive. (S'applique uniquement à zip_file_add(), et uniquement si ZIP_FL_OVERWRITE n'est pas fourni).
ZIP_ER_INVAL La source ou le nom sont NULL, ou l'index n'est pas valide.
ZIP_ER_MEMORY La mémoire requise n'a pas pu être allouée.
ZIP_ER_RDONLY L'archive a été ouverte en mode lecture seule.

Historique

zip_file_add() et zip_file_replace() ont été ajoutés dans libzip 0.11.

Exemple

  1. zip_source_t *s;
  2. const char buf[]="teststring";
  3.  
  4. if ((s=zip_source_buffer(archive, buf, sizeof(buf), 0)) == NULL ||
  5.     zip_file_add(archive, name, s, ZIP_FL_ENC_UTF_8) < 0) {
  6.     zip_source_free(s);
  7.     printf("Erreur lors de l'ajout du fichier : %s\n", zip_strerror(archive));
  8. }

Voir également

libzip(), zip_source()



Dernière mise à jour : Mercredi, le 5 Février 2025