C ++ wcstok () - C ++ szabványos könyvtár

A wcstok () függvény a C ++ -ban egy null végű széles karakterláncban adja vissza a következő tokent.

A wcstok () függvény a fejlécfájlban van meghatározva.

wcstok () prototípus

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

A wcstok () függvénynek három argumentuma van: str, delim és ptr. Ez a függvény megtalálja a tokent a széles karakterláncban, amelyre str mutat. A mutató elválasztja az elválasztó karaktereket.

Ezt a függvényt többször is meg lehet hívni, hogy ugyanazon széles karaktersorozatból kapjunk tokent. Két eset van:

  1. Ha az str nem NULL:
    A wcstok () meghívását tekintjük a széles karakterlánc első hívásának. A függvény az első széles karaktert keresi, amely nem szerepel a tagolásban. Ha nem található ilyen széles karakter, akkor a széles karakterlánc nem tartalmaz tokent. Tehát egy null mutató kerül vissza.
    Ha ilyen széles karakter található, akkor a függvény onnan keresi a szélességű karaktert, amely elválasztva van. Ha nem található elválasztó, akkor az str csak egy tokennel rendelkezik. Ha elválasztót talál, azt L ' 0' helyettesíti, és a következő karakterre mutató mutató a * ptr könyvtárban van. Végül a függvény visszaadja a mutatót a token elejére.
  2. Ha str értéke NULL:
    A hívást a wcstok későbbi hívásának tekintjük, és a funkció onnan folytatódik, ahonnan az előző invokációban ugyanazzal a * ptr-vel lépett.

wcstok () Paraméterek

  • str: A nullával végződött széles karakterlánc mutatója a tokenizáláshoz.
  • elválasztás: Az elválasztókat tartalmazó null végű széles karakterlánc mutatója.
  • ptr: Mutató egy széles karakterre mutató mutatóra, amelyet a wcstok használ a belső állapotának tárolására.

wcstok () Visszatérési érték

  • A wcstok () függvény visszaadja a mutatót a következő token elejére, ha van ilyen
  • NULL értéket ad vissza, ha nem találunk több tokent.

Példa: Hogyan működik a wcstok () függvény?

 #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; )

A program futtatásakor a kimenet a következő lesz:

 A jelzők a következők: papagáj bagoly veréb galamb varjú

érdekes cikkek...