strtok(3) Library Functions Manual strtok(3) NUME strtok - extrage simboluri din iruri BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include char *strtok(char *_Nullable restrict str, const char *restrict delim); DESCRIERE Funcia strtok() descompune un ir de caractere intr-o secvena de zero sau mai multe simboluri nevide. La primul apel la strtok(), irul de caractere care trebuie analizat trebuie specificat in str. In fiecare apel ulterior care ar trebui sa analizeze acelai ir de caractere, str trebuie sa fie NULL. Argumentul delim specifica un set de octei care delimiteaza simbolurile din irul analizat. Apelantul poate specifica iruri diferite in delim in apeluri succesive care analizeaza acelai ir. Fiecare apel la strtok() returneaza un indicator catre un ir cu terminaie nula care conine urmatorul simbol. Acest ir nu include octetul de delimitare. Daca nu se mai gasesc alte simboluri, strtok() returneaza NULL. O secvena de apeluri la strtok() care opereaza asupra aceluiai ir de caractere menine un indicator care determina punctul de la care incepe cautarea urmatorului simbol. Primul apel la strtok() stabilete acest indicator la primul octet al irului de caractere. Inceputul urmatorului simbol este determinat prin scanarea inainte pentru urmatorul octet nedelimitator din str. Daca se gasete un astfel de octet, acesta este considerat ca fiind inceputul urmatorului simbol. Daca nu se gasete un astfel de octet, atunci nu mai exista alte simboluri, iar strtok() returneaza NULL. (Un ir de caractere care este gol sau care conine numai delimitatori va face astfel ca strtok() sa returneze NULL la primul apel). Sfaritul fiecarui simbol este gasit prin scanarea inainte pana cand este gasit fie urmatorul octet de delimitare, fie octetul nul de terminare ('\0'). In cazul in care se gasete un octet de delimitare, acesta este suprascris cu un octet nul pentru a incheia simbolul curent, iar strtok() salveaza un indicator la urmatorul octet; acest indicator va fi utilizat ca punct de plecare la cautarea urmatorului simbol. In acest caz, strtok() returneaza un indicator la inceputul simbolului gasit. Din descrierea de mai sus, rezulta ca o secvena de doi sau mai muli octei delimitatori contigui in irul analizat este considerata a fi un singur delimitator i ca octeii delimitatori de la inceputul sau sfaritul irului sunt ignorai. Altfel spus: simbolurile returnate de strtok() sunt intotdeauna iruri de caractere nevide. Astfel, de exemplu, avand in vedere irul ,,aaa;;bbb,", apelurile succesive la strtok() care specifica irul delimitator ,,;," ar returna irurile ,,aaa" i ,,bbb", iar apoi un indicator nul. VALOAREA RETURNATA Funcia strtok() returneaza un indicator catre urmatorul simbol, sau NULL daca nu mai exista simboluri. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +------------------------+---------------------+-----------------------+ |Interfaa | Atribut | Valoare | +------------------------+---------------------+-----------------------+ |strtok() | Sigurana firelor | MT-Unsafe race:strtok | +------------------------+---------------------+-----------------------+ STANDARDE C11, POSIX.1-2008. ISTORIC POSIX.1-2001, C89, SVr4, 4.3BSD. AVERTISMENTE Fii prudent atunci cand utilizai aceasta funcie. Daca o utilizai, reinei ca: o Identitatea octetului de delimitare este pierduta. o Funcia strtok() utilizeaza o memorie tampon statica in timpul analizei, deci nu este sigura pentru fire. Utilizai strtok_r(3) daca acest lucru este important pentru dumneavoastra. EXEMPLE A se vedea getaddrinfo_a(3). CONSULTAI I memchr(3), strchr(3), string(3), strpbrk(3), strsep(3), strspn(3), strstr(3), strtok_r(3), wcstok(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.18 25 februarie 2026 strtok(3)