Strtok () -funksjonen i C ++ returnerer neste token i en null-avsluttet byte-streng.
strtok () prototype
char * strtok (char * str, const char * delim);
Den strtok()
funksjonen tar to argumenter: str og delim. Denne funksjonen finner symbolet i strengen som er pekt på strtok
. Pekeren avgrenser peker på skilletegnene.
Denne funksjonen kan kalles flere ganger for å skaffe tokens fra samme streng. Det er to tilfeller:
- Hvis str ikke er NULL:
Et anrop til strtok () regnes som første anrop for den strengen. Funksjonen søker etter det første tegnet som ikke er inkludert i delim. Hvis ingen slike tegn blir funnet, inneholder ikke strengen noe token. Så en nullpeker returneres. Hvis en slik karakter blir funnet, søker funksjonen derfra etter et tegn som er tilstede i avgrensning. Hvis det ikke finnes noen skilletegn, har str bare ett token. Hvis en separator blir funnet, erstattes den av ' 0', og pekeren til følgende tegn lagres på et statisk sted for påfølgende påkallinger. Til slutt returnerer funksjonen pekeren til begynnelsen av tokenet. - Hvis str er NULL:
Anropet betraktes som påfølgende anrop til strtok og funksjonen fortsetter fra der den gikk i forrige påkallelse.
Den er definert i topptekstfil "> topptekstfil.
strtok () Parametere
str
: Peker til null-avsluttet byte-streng for å tokenize.delim
: Peker til null-avsluttet byte-streng som inneholder skilletegnene.
strtok () Returverdi
Den strtok()
funksjonen returnerer pekeren til neste tegn hvis det er noen, eller det returnerer NULL hvis ingen flere symboler er funnet.
Eksempel: Hvordan fungerer strtok () -funksjonen
#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; )
Når du kjører programmet, vil utdataene være:
Tokene er: papegøyeugle spurvdue kråke