C ++ strtok () - C ++ Standardbibliotek

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

Interessante artikler...