C ++ strtok () - C ++ standardraamatukogu

Funktsioon strtok () C ++ - s tagastab nullmärgise baidi stringi järgmise loa.

strtok () prototüüp

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

strtok()Funktsiooni saab kaht argumenti: tn ja eraldaja. See funktsioon leiab märgi stringist, millele osutab strtok. Kursori eraldus osutab eraldusmärkidele.

Seda funktsiooni saab mitu korda kutsuda, et saada samast stringist märke. On kaks juhtumit:

  • Kui str pole NULL:
    Kõnet strtokile () loetakse selle stringi esimeseks kutseks. Funktsioon otsib esimest märki, mida ei ole eraldusjoones. Kui sellist märki ei leita, ei sisalda string ühtegi märki. Seega tagastatakse nullkursor. Kui selline märk on leitud, otsib funktsioon sealt tähemärki, mis on eraldatud. Kui eraldajat ei leita, on str-il ainult üks märk. Kui eraldaja leitakse, asendatakse see tähega ' 0' ja järgmise tähemärgi kursor salvestatakse staatilisse kohta järgnevate sissetungide jaoks. Lõpuks tagastab funktsioon kursori loa algusesse.
  • Kui str on NULL:
    kõnet loetakse järgnevateks strtoki väljakutseteks ja funktsioon jätkub sealt, kuhu see eelmise kutsega lahkus.

See on määratletud päisefailis "> päisefail.

strtok () parameetrid

  • str: Nulliga lõppenud baitide stringi kursor märkimiseks.
  • delim: Nulliga lõppenud baitide stringi kursor, mis sisaldab eraldajaid.

strtok () Tagastusväärtus

strtok()Tagastab kursor järgmisele sümboolne kui seal on midagi, või see tagasi NULL, kui mitte rohkem märke on leitud.

Näide: kuidas funktsioon strtok () töötab

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

Programmi käivitamisel on väljund järgmine:

 Märgid on: papagoi öökull varblast tuvi vares

Huvitavad Artiklid...