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

NUME

       strsep - extrage simbolul (token) dintr-un șir

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <string.h>

       char *strsep(char **restrict stringp, const char *restrict delim);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       strsep():
           Începând cu glibc 2.19:
               _DEFAULT_SOURCE
           glibc 2.19 și versiunile anterioare:
               _BSD_SOURCE

DESCRIERE

       Dacă  *stringp  este  NULL,  funcția  strsep()  returnează NULL și nu face nimic altceva. În caz contrar,
       această funcție găsește primul simbol din șirul *stringp care este delimitat de unul dintre  octeții  din
       șirul  delim.  Acest  simbol este terminat prin suprascrierea delimitatorului cu un octet nul ('\0'), iar
       *stringp este actualizat pentru a indica trecutul simbolului. În  cazul  în  care  nu  s-a  găsit  niciun
       delimitator, se consideră că simbolul este întregul șir *stringp, iar *stringp devine NULL.

VALOAREA RETURNATĂ

       Funcția strsep() returnează un indicator la simbol, adică returnează valoarea originală a *stringp.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ strsep()                                                                │ Siguranța firelor │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       Niciunul.

ISTORIC

       4.4BSD.

       Funcția  strsep()  a  fost  introdusă  ca înlocuitor pentru strtok(3), deoarece aceasta din urmă nu poate
       gestiona câmpuri goale. Cu toate acestea, strtok(3) este conformă cu C89/C99 și, prin  urmare,  este  mai
       portabilă.

ERORI

       Fiți prudent atunci când utilizați această funcție. Dacă o utilizați, rețineți că:

       •  Această funcție modifică primul său argument.

       •  Această funcție nu poate fi utilizată pentru șiruri constante.

       •  Se pierde identitatea caracterului de delimitare.

EXEMPLE

       Programul  de  mai jos este o adaptare a celui găsit în strtok(3), care, totuși, nu elimină delimitatorii
       multipli sau simbolurile goale:

           $ ./a.out 'a/bbb///cc;xxx:yyy:' ':;' '/'
           1: a/bbb///cc
                    --> a
                    --> bbb
                    -->
                    -->
                    --> cc
           2: xxx
                    --> xxx
           3: yyy
                    --> yyy
           4:
                    -->

   Sursa programului

       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>

       int
       main(int argc, char *argv[])
       {
           char *token, *subtoken;

           if (argc != 4) {
               fprintf(stderr, "Utilizare: %s [șir] [delimitator] [subdelimitator]\n", argv[0]);
               exit(EXIT_FAILURE);
           }

           for (unsigned int j = 1; (token = strsep(&argv[1], argv[2])); j++) {
               printf("%u: %s\n", j, token);

               while ((subtoken = strsep(&token, argv[3])))
                   printf("\t --> %s\n", subtoken);
           }

           exit(EXIT_SUCCESS);
       }

CONSULTAȚI ȘI

       memchr(3), strchr(3), string(3), strpbrk(3), strspn(3), strstr(3), strtok(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                                        strsep(3)