C ++ strtok () - C ++ standardna knjižnica

Funkcija strtok () u C ++-u vraća sljedeći token u nulu završenom stringu bajta.

prototip strtok ()

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

strtok()Funkcija traje dva argumenta: str i razdvojnik. Ova funkcija pronalazi žeton u nizu na koji pokazuje strtok. Razdjelnik pokazivača pokazuje na znakove za razdvajanje.

Ova se funkcija može pozvati više puta za dobivanje tokena iz istog niza. Postoje dva slučaja:

  • Ako str nije NULL:
    poziv strtok () smatra se prvim pozivom za taj niz. Funkcija traži prvi znak koji nije sadržan u delimu. Ako takav znak nije pronađen, niz ne sadrži nijedan žeton. Tako se vraća null pokazivač. Ako se takav znak pronađe, odatle funkcija traži znak koji je prisutan u razgraničenju. Ako nije pronađen separator, str ima samo jedan token. Ako se pronađe separator, zamjenjuje se s ' 0', a pokazivač na sljedeći znak pohranjuje se na statičkom mjestu za sljedeće pozive. Konačno, funkcija vraća pokazivač na početak tokena.
  • Ako je str NULL:
    poziv se smatra naknadnim pozivima strtoku i funkcija se nastavlja od mjesta na kojem je ostala u prethodnom pozivu.

Definirano je u datoteci zaglavlja "> datoteka zaglavlja.

strtok () Parametri

  • str: Pokazivač na nulu završeni niz bajtova za tokenizaciju.
  • delim: Pokazivač na nulu završeni niz bajtova koji sadrži separatore.

strtok () Povratna vrijednost

strtok()Funkcija vraća pokazivač na sljedeći znak ako postoji neki ili vraća NULL ako se nalaze nema više žetona.

Primjer: Kako funkcionira funkcija strtok ()

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

Kada pokrenete program, izlaz će biti:

 Žetoni su: papagaj sova vrabac golub vrana

Zanimljivi članci...