Strtok () -funktionen i C ++ returnerar nästa token i en null-avslutad byte-sträng.
strtok () prototyp
char * strtok (char * str, const char * delim);
Den strtok()
funktionen tar två argument: str och AVSKILJ. Denna funktion hittar token i strängen som pekas på strtok
. Pekarens avgränsning pekar på avskiljartecknen.
Denna funktion kan anropas flera gånger för att få tokens från samma sträng. Det finns två fall:
- Om str inte är NULL:
Ett anrop till strtok () anses vara det första anropet för den strängen. Funktionen söker efter det första tecknet som inte ingår i avgränsningen. Om inget sådant tecken hittas innehåller strängen ingen symbol. Så en nullpekare returneras. Om ett sådant tecken hittas söker funktionen därifrån efter ett tecken som finns i avgränsning. Om ingen separator hittas har str bara en token. Om en separator hittas ersätts den med ' 0' och pekaren till följande tecken lagras på en statisk plats för efterföljande anrop. Slutligen returnerar funktionen pekaren till början av token. - Om str är NULL:
Samtalet betraktas som efterföljande samtal till strtok och funktionen fortsätter från den plats där den lämnade i tidigare anrop.
Det definieras i rubrikfil "> rubrikfil.
strtok () Parametrar
str
: Pekare till nollavslutad bytesträng för att tokenize.delim
: Pekare till nollavslutad byte-sträng som innehåller separatorerna.
strtok () Returvärde
Den strtok()
returnerar pekaren till nästa token om det finns någon, eller returnerar null om inga fler polletter finns.
Exempel: Hur strtok () fungerar
#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ör programmet blir resultatet:
Märkena är: papegojauglsparvduvkråka