Bonjour

Après avoir longtemps cherché et rien trouvé, je propose 1 entrée pour la FAQ :

Ajouter un fichier dans une archive :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    int visu;
    struct zip * f_zip=NULL;
    struct zip_source * n_zip=NULL;
 
 
 
    f_zip=zip_open("feuille.zip",ZIP_CREATE,NULL);
    n_zip=zip_source_file(f_zip,"content.xml",0,0); /* le nom de ce document est sans importance */
    if ((visu=zip_name_locate(f_zip,"content.xml",ZIP_FL_NOCASE)==-1) /* recherche de l'emplacement du fichier content.xml dans le zip */
    { /* nouveau document dans le fichier zip  : le fichier content.xml n'y est pas */
        zip_add(f_zip,"content.xml",n_zip); /* c'est là qu'on fixe le nom qu'aura le nouveau document dans le fichier zip */
    }
    else
    { /* modification d'un document dans le fichier zip : content.xml est déjà dedans */
        zip_replace(f_zip,visu,n_zip); /* notre document remplace le document qui ce trouve à l'emplacement visu */
    }                                  /* et récupère le nom de l'ancien document */
    zip_close(f_zip);