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

Funkcia wcstok () v C ++ vráti nasledujúci token v širokom reťazci zakončenom nulou.

Funkcia wcstok () je definovaná v hlavičkovom súbore.

prototyp wcstok ()

 wchar_t * wcstok (wchar_t * str, const wchar_t * delim, wchar_t ** ptr);

Funkcia wcstok () má tri argumenty: str, delim a ptr. Táto funkcia nájde token v širokom reťazci, na ktorý ukazuje str. 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 širokého reťazca. Existujú dva prípady:

  1. Ak str nie je NULL:
    Hovor wcstok () sa považuje za prvé volanie pre tento široký reťazec. Funkcia vyhľadá prvý široký znak, ktorý nie je obsiahnutý v oddeľovači. Ak nenájdete taký široký znak, široký reťazec neobsahuje žiadny token. Vráti sa teda nulový ukazovateľ.
    Ak sa nájde taký široký znak, odtiaľ funkcia vyhľadá široký znak, ktorý je v oddeľovači. Ak nenájdete oddeľovač, str má iba jeden token. Ak sa nájde oddeľovač, nahradí sa znakom L ' 0' a ukazovateľ na nasledujúci znak sa uloží do * ptr. Nakoniec funkcia vráti ukazovateľ na začiatok tokenu.
  2. Ak str je NULL:
    Hovor sa považuje za následné volanie wcstok a funkcia pokračuje od miesta, kde odišla v predchádzajúcom vyvolaní, s rovnakým * ptr.

Parametre wcstok ()

  • str: Ukazovateľ na široký reťazec s nulovým zakončením, ktorý sa má tokenizovať.
  • delim: Ukazovateľ na null ukončený široký reťazec, ktorý obsahuje oddeľovače.
  • ptr: Ukazovateľ na ukazovateľ na široký znak, ktorý používa wcstok na uloženie svojho vnútorného stavu.

wcstok () Vrátená hodnota

  • Funkcia wcstok () vráti ukazovateľ na začiatok nasledujúceho tokenu, ak existuje
  • Ak sa nenájdu ďalšie tokeny, vráti hodnotu NULL.

Príklad: Ako funguje funkcia wcstok ()?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"parrot,owl,sparrow,pigeon,crow"; wchar_t delim() = L"u002c";// unicode for comma wchar_t *ptr; wcout << L"The tokens are:" << endl; wchar_t *token = wcstok(str,delim,&ptr); while (token) ( wcout << token << endl; token = wcstok(NULL,delim,&ptr); ) return 0; )

Po spustení programu bude výstup:

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

Zaujímavé články...