Man page - strsep(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

strsep

NUME
BIBLIOTECA
SINOPSIS
DESCRIERE
VALOAREA RETURNATĂ
ATRIBUTE
STANDARDE
ISTORIC
ERORI
EXEMPLE
Sursa programului
CONSULTAȚI ȘI
TRADUCERE

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

Image grohtml-675360-1.png

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 .