C ++ strtok () - štandardná knižnica C ++

Funkcia strtok () v C ++ vráti nasledujúci token v bajtovom reťazci s nulovým zakončením.

strtok () prototyp

 char * strtok (char * str, const char * delim);

strtok()Funkcia má dva argumenty: str a delia. Táto funkcia vyhľadá token v reťazci, na ktorý odkazuje strtok. Oddeľovač ukazovateľa ukazuje na oddeľovacie znaky.

Túto funkciu je možné zavolať viackrát, aby ste získali tokeny z rovnakého reťazca. Existujú dva prípady:

  • Ak str nie je NULL:
    Za prvé volanie pre tento reťazec sa považuje volanie strtok (). Funkcia vyhľadá prvý znak, ktorý nie je obsiahnutý v oddeľovači. Ak sa taký znak nenájde, reťazec neobsahuje žiadny token. Vráti sa teda nulový ukazovateľ. Ak sa taký znak nájde, odtiaľ funkcia vyhľadá znak, ktorý je prítomný v medziach. Ak nenájdete oddeľovač, str má iba jeden token. Ak sa nájde oddeľovač, nahradí sa znamienkom „ 0“ a smerník na nasledujúci znak sa uloží na statickom mieste pre ďalšie vyvolanie. Nakoniec funkcia vráti ukazovateľ na začiatok tokenu.
  • Ak str je NULL:
    Hovor sa považuje za následné volanie strtok a funkcia pokračuje od miesta, kde zostala v predchádzajúcom vyvolaní.

Je definované v hlavičkovom súbore.

strtok () parametre

  • str: Ukazovateľ na nulový ukončený bajtový reťazec na tokenizáciu.
  • delim: Ukazovateľ na nulový ukončený bajtový reťazec, ktorý obsahuje oddeľovače.

strtok () Vrátená hodnota

strtok()Funkcia vracia ukazovateľ na ďalšie token, ak existuje, alebo sa vráti NULL, ak sú zistené žiadne ďalšie žetóny.

Príklad: Ako funguje funkcia strtok ()

 #include #include using namespace std; int main() ( char str() = "parrot,owl,sparrow,pigeon,crow"; char delim() = ","; cout << "The tokens are:" << endl; char *token = strtok(str,delim); while (token) ( cout << token << endl; token = strtok(NULL,delim); ) return 0; )

Po spustení programu bude výstup:

 Tokeny sú: papagáj sova vrabec holub vrána

Zaujímavé články...