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

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ță │ Atribut │ Valoare │ ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤ │ 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)