C ++ strtok () - C ++ -kirjasto

Strtok () -funktio C ++: ssa palauttaa seuraavan tunnuksen nollapäätteisessä tavujonossa.

strtok () prototyyppi

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

strtok()Funktio ottaa kaksi argumenttia: str ja erotin. Tämä toiminto löytää tunnuksen merkkijonosta, johon viittaa strtok. Osoitin rajoittaa osoittimia erottimiin.

Tätä toimintoa voidaan kutsua useita kertoja tunnusten saamiseksi samasta merkkijonosta. On olemassa kaksi tapausta:

  • Jos str ei ole NULL:
    Kutsu strtok (): lle pidetään kyseisen merkkijonon ensimmäisenä kutsuna. Funktio etsii ensimmäisen merkin, jota ei ole delimissä. Jos tällaista merkkiä ei löydy, merkkijono ei sisällä tunnusta. Joten palautetaan nollaosoitin. Jos tällainen merkki löytyy, funktio etsii sieltä merkkiä, joka on läsnä. Jos erotinta ei löydy, str: llä on vain yksi tunnus. Jos erotin löytyy, se korvataan tunnuksella 0 ja seuraavan merkin osoitin tallennetaan staattiseen paikkaan myöhempiä kutsuja varten. Lopuksi funktio palauttaa osoittimen tunnuksen alkuun.
  • Jos str on NULL:
    Kutsu katsotaan seuraaviksi kutsuiksi strtokille ja toiminto jatkuu sieltä, mihin se jätti edellisen kutsun.

Se määritetään otsikkotiedostossa "> header file.

strtok () -parametrit

  • str: Nollan päättyneen tavun merkkijono osoitin tokenoitavaksi.
  • delim: Nollapäätetyn tavujonon osoitin, joka sisältää erotimet.

strtok () Palautusarvo

strtok()Funktio palauttaa osoittimen seuraavaan merkki jos on, tai se palauttaa NULL, jos ei enää rahakkeita löytyy.

Esimerkki: Kuinka strtok () -toiminto toimii

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

Kun suoritat ohjelmaa, tulos on:

 Tunnukset ovat: papukaija pöllö varpunen kyyhkynen varis

Mielenkiintoisia artikkeleita...