Strtok

strtok  este o funcție de bibliotecă standard în limbajul de programare C pentru a căuta jetoane într-un șir. Secvența apelurilor de funcții împarte șirul în jetoane separate prin caractere delimitare.

Prototipul funcției

Prototipul descris în fișierul antet string.h:

char * strtok ( char * string , const char * delim );
  • string — un indicator către șirul care urmează să fie împărțit în jetoane. După apel, șirul este schimbat. Pentru un apel ulterior, puteți trece NULL, apoi funcția va continua căutarea în șirul original.
  • delim este un pointer către un șir care conține delimitatori.

Valoarea returnată

Funcția returnează un pointer la primul simbol găsit în șir. Dacă nu sunt găsite simboluri, este returnat un pointer nul.

Utilizare

Conexiune

C #include <șir.h> C++ #include <cstring>

Exemplu de utilizare

#include <stdio.h> #include <șir.h> int main () { char str [] = "Acesta nu este o eroare, aceasta este o caracteristică." ; printf ( „Divizați șirul \" %s \" în token-uri." , str ); char * pch = strtok ( str , " ,." ); //delimitatorii (spațiu, virgulă, punct) sunt specificați în al doilea parametru printf ( " \n Tokens:" ); while ( pch != NULL ) // în timp ce există jetoane { printf ( " \n %s " , pch ); pch = strtok ( NULL , " ,." ); } returnează 0 ; }

Concluzie:

Împărțirea liniei „Nu este un bug, este o caracteristică”. la lexeme. Jetoane: aceasta nu gândac aceasta este caracteristică

Securitate

Funcția strtoknu este reintratoare . Există două funcții non-standard thread-safe - strtok_s(în VC++) și strtok_r(în standardul POSIX).

Link -uri