C ++ wcstok () - standardní knihovna C ++

Funkce wcstok () v C ++ vrací další token v null zakončeném širokém řetězci.

Funkce wcstok () je definována v hlavičkovém souboru.

prototyp wcstok ()

 wchar_t * wcstok (wchar_t * str, const wchar_t * oddělovač, wchar_t ** ptr);

Funkce wcstok () má tři argumenty: str, delim a ptr. Tato funkce najde token v širokém řetězci, na který ukazuje str. Oddělovač ukazatele ukazuje na oddělovací znaky.

Tuto funkci lze volat vícekrát, abyste získali tokeny ze stejného širokého řetězce. Existují dva případy:

  1. Pokud str není NULL:
    Volání wcstok () je považováno za první volání pro tento široký řetězec. Funkce vyhledá první široký znak, který není obsažen v oddělovači. Pokud není nalezen žádný takový široký znak, široký řetězec neobsahuje žádný token. Vrátí se tedy nulový ukazatel.
    Pokud je nalezen takový široký znak, odtud funkce vyhledá široký znak, který je přítomen v oddělovači. Pokud není nalezen žádný oddělovač, str má pouze jeden token. Pokud je nalezen oddělovač, je nahrazen L ' 0' a ukazatel na následující znak je uložen v * ptr. Nakonec funkce vrátí ukazatel na začátek tokenu.
  2. Pokud str je NULL:
    Volání je považováno za následné volání wcstok a funkce pokračuje od místa, kde odešel v předchozím vyvolání se stejným * ptr.

Parametry wcstok ()

  • str: Ukazatel na široký řetězec zakončený hodnotou null pro tokenizaci.
  • delim: Ukazatel na null ukončený široký řetězec, který obsahuje oddělovače.
  • ptr: Ukazatel na ukazatel na široký znak, který používá wcstok k uložení jeho vnitřního stavu.

wcstok () Návratová hodnota

  • Funkce wcstok () vrací ukazatel na začátek dalšího tokenu, pokud existuje
  • Vrátí NULL, pokud již nejsou nalezeny žádné další tokeny.

Příklad: Jak funguje funkce 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; )

Když spustíte program, výstup bude:

 Žetony jsou: vrána vrána vrabčího vrabce

Zajímavé články...