C ++ strtok () - C ++ Standardbibliotek

Funktionen strtok () i C ++ returnerer det næste token i en nultermineret byte-streng.

strtok () prototype

 char * strtok (char * str, const char * afgrænsning);

Den strtok()funktion har to argumenter: str og delim. Denne funktion finder symbolet i den streng, der er peget på af strtok. Markørafgrænsningen peger på skilletegnene.

Denne funktion kan kaldes flere gange for at få tokens fra den samme streng. Der er to tilfælde:

  • Hvis str ikke er NULL:
    Et opkald til strtok () betragtes som det første kald for den streng. Funktionen søger efter det første tegn, der ikke er indeholdt i afgrænsningen. Hvis der ikke findes et sådant tegn, indeholder strengen ikke noget token. Så en nul pointer returneres. Hvis et sådant tegn findes, søger funktionen derfra et tegn, der er til stede i afgrænsning. Hvis der ikke findes nogen separator, har str kun et token. Hvis der findes en separator, erstattes den med ' 0', og markøren til følgende tegn gemmes på en statisk placering til efterfølgende opkald. Endelig returnerer funktionen markøren til begyndelsen af ​​tokenet.
  • Hvis str er NULL:
    Opkaldet betragtes som efterfølgende opkald til strtok, og funktionen fortsætter fra det sted, hvor den forlod i tidligere påkaldelse.

Det er defineret i header-fil "> header-fil.

strtok () Parametre

  • str: Markør til nultermineret byte-streng for at tokenize.
  • delim: Markør til den nulterminerede byte-streng, der indeholder separatorerne.

strtok () Returværdi

Den strtok()funktion returnerer markøren til den næste token hvis der er nogen, eller det returnerer NULL hvis der ikke findes flere poletter.

Eksempel: Sådan fungerer strtok () -funktionen

 #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 kører programmet, vil output være:

 Poletterne er: papegøjeugle, spurve due krage

Interessante artikler...