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

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

strtok () prototípus

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

A strtok()függvénynek két argumentuma van: str és delim. Ez a függvény megtalálja a tokent a karakterláncban, amelyre mutat strtok. A mutató elválasztja az elválasztó karaktereket.

Ezt a függvényt többször is meg lehet hívni, hogy azonos karakterláncokból kapjanak tokenek. Két eset van:

  • Ha az str nem NULL:
    Az strtok () hívását tekintjük az adott karakterlánc első hívásának. A függvény az első karaktert keresi, amely nem szerepel a tagolásban. Ha nem található ilyen karakter, akkor a karakterlánc nem tartalmaz tokent. Tehát egy null mutató kerül vissza. Ha ilyen karaktert talál, akkor onnan a függvény keres egy karaktert, amely jelen van a delimben. Ha nem található elválasztó, akkor az str csak egy tokennel rendelkezik. Ha elválasztót talál, akkor a helyére ' 0' lép, és a következő karakterre mutató mutatót statikus helyen tárolja a későbbi meghívásokhoz. Végül a függvény visszaadja a mutatót a token elejére.
  • Ha str értéke NULL:
    A hívás az strtok későbbi hívásának tekintendő, és a funkció onnan folytatódik, ahonnan az előző meghíváskor elhagyta.

A "header file"> header fájlban van meghatározva.

strtok () Paraméterek

  • str: A nullával végződő bájt karakterlánc mutatója a tokenizáláshoz.
  • delim: Az elválasztókat tartalmazó null végű bájt karakterlánc mutatója.

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

A strtok()függvény a mutatót a következő tokenhez adja vissza, ha van ilyen, vagy NULL értéket ad vissza, ha nem található több token.

Példa: Az strtok () függvény működése

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

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...