Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       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 - funcții pentru a manipula o listă argz

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #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);

       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 - funcții pentru a manipula o listă argz

       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);

DESCRIERE

       Aceste funcții sunt specifice glibc.

       Un  vector  argz  este  un  indicator  către o memorie tampon de caractere împreună cu o lungime. Memoria
       tampon de caractere este interpretată ca o matrice de șiruri de caractere, în care șirurile sunt separate
       de octeți nuli („\0”). În cazul în care lungimea este diferită de zero, ultimul octet al memoriei  tampon
       trebuie să fie un octet nul.

       Aceste  funcții  sunt  destinate  manipulării  vectorilor argz. Perechea (NULL,0) este un vector argz și,
       invers, vectorii argz de lungime 0 trebuie să aibă un indicator nul. Alocarea  vectorilor  argz  care  nu
       sunt goi se face utilizând malloc(3), astfel încât free(3) poate fi utilizată pentru a dispune din nou de
       aceștia.

       argz_add() adaugă șirul str la sfârșitul matricei *argz și actualizează *argz și *argz_len.

       argz_add_sep()  este  similară,  dar  împarte  șirul str în subșiruri separate de delimitatorul delim. De
       exemplu, se poate utiliza acest lucru pe o rută de căutare UNIX cu delimitatorul „:”.

       argz_append() adaugă vectorul argz  (buf, buf_len)  după  (*argz, *argz_len)  și  actualizează  *argz  și
       *argz_len; (astfel, *argz_len va fi mărit cu buf_len).

       argz_count() numără numărul de șiruri, adică numărul de octeți nuli („\0”), în (argz, argz_len).

       argz_create()  convertește  un  vector  de argumente în stil UNIX argv, terminat prin (char *) 0, într-un
       vector argz (*argz, *argz_len).

       argz_create_sep()  convertește  șirul  de  caractere  cu  terminație  nulă  str   într-un   vector   argz
       (*argz, *argz_len) prin fragmentarea acestuia la fiecare apariție a separatorului sep.

       argz_delete()  elimină  subșirul  indicat  de  entry din vectorul argz (*argz, *argz_len) și actualizează
       *argz și *argz_len.

       argz_extract() este opusul lui argz_create(). Acesta ia vectorul argz (argz, argz_len) și umple  matricea
       care  începe  la  argv cu indicatori la subșiruri și un NULL final, obținând un vector argv în stil UNIX.
       Matricea argv trebuie să aibă loc pentru argz_count(argz, argz_len) + 1 indicatori.

       argz_insert() este opusul lui argz_delete(). Acesta inserează  argumentul  entry  la  poziția  before  în
       vectorul  argz  (*argz, *argz_len) și actualizează *argz și *argz_len. În cazul în care before este NULL,
       atunci entry va fi inserat la sfârșit.

       argz_next() este o funcție care permite parcurgerea vectorului argz. Dacă entry este NULL, se  returnează
       prima  intrare.  În  caz  contrar, se returnează următoarea intrare. În cazul în care nu există o intrare
       următoare, se returnează NULL.

       argz_replace() înlocuiește fiecare apariție a lui str cu with, realocând argz după cum este  necesar.  În
       cazul în care replace_count nu este NULL, *replace_count va fi incrementat cu numărul de înlocuiri.

       argz_stringify()  este  opusul  lui  argz_create_sep().  Transformă vectorul argz într-un șir normal prin
       înlocuirea tuturor octeților nuli („\0”), cu excepția ultimului, cu sep.

VALOAREA RETURNATĂ

       Toate funcțiile argz care efectuează alocarea de memorie au un tip de returnare error_t (un  tip  întreg)
       și returnează 0 pentru succes și ENOMEM dacă apare o eroare de alocare.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ argz_add(), argz_add_sep(), argz_append(), argz_count(), argz_create(), │ Siguranța firelor │ MT-Safe │
       │ argz_create_sep(), argz_delete(), argz_extract(), argz_insert(),        │                   │         │
       │ argz_next(), argz_replace(), argz_stringify()                           │                   │         │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       GNU.

ERORI

       Vectorii Argz fără un octet de terminare nul pot duce la erori de segmentare.

CONSULTAȚI ȘI

       envz_add(3)

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  NICIO
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                   15 iunie 2024                                      argz_add(3)