dwww Home | Manual pages | Find package

argz_add(3)                Library Functions Manual                argz_add(3)

NOM
       argz_add,    argz_add_sep,    argz_append,   argz_count,   argz_create,
       argz_create_sep,  argz_delete,  argz_extract,  argz_insert,  argz_next,
       argz_replace,  argz_stringify  -  Fonctions pour manipuler les vecteurs
       argz

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

SYNOPSIS
       #include <argz.h>

       error_t argz_add(char **restrict argz, size_t *restrict argz_len,
                       const char *restrict str);

       error_t argz_add_sep(char **restrict argz, size_t *restrict argz_len,
                       const char *restrict str, int delim);

       error_t argz_append(char **restrict argz, size_t *restrict argz_len,
                       const char *restrict buf, size_t buf_len);

       size_t argz_count(const char *argz, size_t argz_len);

       error_t argz_create(char *const argv[], char **restrict argz,
                       size_t *restrict argz_len);

       error_t argz_create_sep(const char *restrict str, int sep,
                       char **restrict argz, size_t *restrict argz_len);

       void argz_delete(char **restrict argz, size_t *restrict argz_len,
                       char *restrict entry);

       void argz_extract(const char *restrict argz, size_t argz_len,
                       char **restrict argv);

       error_t argz_insert(char **restrict argz, size_t *restrict argz_len,
                       char *restrict before, const char *restrict entry);

       char *argz_next(const char *restrict argz, size_t argz_len,
                       const char *restrict entry);

       error_t argz_replace(char **restrict argz, size_t *restrict argz_len,
                       const char *restrict str, const char *restrict with,
                       unsigned int *restrict replace_count);

       void argz_stringify(char *argz, size_t len, int sep);

DESCRIPTION
       Ces fonctions sont spécifiques à la glibc.

       Un vecteur argz est un pointeur sur un tampon de caractères  associé  à
       une  longueur. L'interprétation voulue pour le tampon de caractères est
       un tableau de chaînes où les chaînes sont séparées par des octets  nuls
       (« \0 »). Si la longueur est non nulle, le dernier octet du tampon doit
       être nul.

       Ces fonctions servent à manipuler les vecteurs argz. La paire (NULL, 0)
       est  un  vecteur  argz  et réciproquement les vecteurs argz de longueur
       zéro doivent avoir un pointeur NULL. L'allocation de vecteurs argz  non
       nuls  est  faite  avec  malloc(3) afin que free(3) puisse être utilisée
       pour les libérer.

       argz_add() ajoute la chaîne str à la fin du tableau *argz et met à jour
       *argz et *argz_len.

       argz_add_sep()   est   similaire,   mais   découpe  la  chaîne  str  en
       sous-chaînes séparées par le délimiteur delim.  Par  exemple,  on  peut
       l'utiliser  sur  la liste de recherche des chemins UNIX avec le délimi-
       teur « : ».

       argz_append()   ajoute   le   vecteur   argz    (buf, buf_len)    après
       (*argz, *argz_len)  et  met  à  jour *argz et *argz_len (donc *argz_len
       sera augmenté de buf_len).

       argz_count() compte le nombre de chaînes, c'est-à-dire le nombre  d'oc-
       tets nuls (« \0 ») dans le vecteur (argz, argz_len).

       argz_create()  convertit un vecteur de type UNIX argv terminé par (char
       *) 0 en un vecteur argz (*argz, *argz_len).

       argz_create_sep() convertit la chaîne terminée par un caractère nul str
       en  un  vecteur argz (*argz, *argz_len) en la découpant à chaque occur-
       rence du séparateur sep.

       argz_delete() retire la sous-chaîne pointée par entry du  vecteur  argz
       (*argz, *argz_len) et met à jour *argz et *argz_len.

       argz_extract()  est  l'inverse  de argz_create(). Elle prend le vecteur
       argz (argz, argz_len) et remplit le tableau commençant à argv avec  des
       pointeurs sur les sous-chaînes et un NULL final en créant un vecteur de
       type UNIX argv.  Le  tableau  argv  doit  avoir  assez  de  place  pour
       argz_count(argz, argz_len) + 1 pointeurs.

       argz_insert()  est  l'opposée  de argz_delete(). Elle insère l'argument
       entry à la position before dans le vecteur argz  (*argz, *argz_len)  et
       met  à jour *argz et *argz_len. Si before est NULL, alors entry est in-
       sérée à la fin.

       argz_next() est une fonction pour se déplacer dans le vecteur argz.  Si
       entry  est  NULL, elle renvoie la première entrée. Sinon, l'entrée sui-
       vante est renvoyée. Elle renvoie NULL s'il n'y a pas d'entrée suivante.

       argz_replace() remplace chaque occurrence de str avec  with,  en  réal-
       louant  argz  si  nécessaire.  Si  replace_count  est  non  NULL,  *re-
       place_count sera incrémenté du nombre de remplacements.

       argz_stringify() est l'opposée de argz_create_sep(). Elle transforme le
       vecteur  argz  en une chaîne normale en remplaçant tous les octets nuls
       (« \0 ») sauf le dernier par sep.

VALEUR RENVOYÉE
       Toutes les fonctions argz qui font de l'allocation mémoire ont un  type
       de retour error_t (un type entier), et renvoient 0 si elles réussissent
       et ENOMEM si l'allocation échoue.

ATTRIBUTS
       Pour une explication des termes utilisés dans cette section,  consulter
       attributes(7).

       ┌─────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├─────────────────────────────────────┼──────────────────────┼─────────┤
       │argz_add(), argz_add_sep(),          │ Sécurité des threads │ MT-Safe │
       │argz_append(), argz_count(),         │                      │         │
       │argz_create(), argz_create_sep(),    │                      │         │
       │argz_delete(), argz_extract(),       │                      │         │
       │argz_insert(), argz_next(),          │                      │         │
       │argz_replace(), argz_stringify()     │                      │         │
       └─────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS
       Ces fonctions sont une extension GNU.

BOGUES
       Les vecteurs argz sans caractère nul final conduisent à une  erreur  de
       segmentation.

VOIR AUSSI
       envz_add(3)

TRADUCTION
       La  traduction française de cette page de manuel a été créée par Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, Fran-
       çois Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe  Gué-
       rard  <fevrier@tigreraye.org>,  Jean-Luc  Coulon (f5ibh) <jean-luc.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org> et David Prévot <david@tilapin.org>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la        GNU        General       Public       License       version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant  les  conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous découvrez un bogue dans la traduction de cette page de manuel,
       veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

Pages du manuel de Linux 6.03   5 février 2023                     argz_add(3)

Generated by dwww version 1.15 on Sat Jun 29 00:39:46 CEST 2024.