C ++ strtok () - standardní knihovna C ++

Funkce strtok () v C ++ vrací další token v bajtovém řetězci zakončeném nulou.

strtok () prototyp

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

strtok()Funkce má dva argumenty: str a DELIM. Tato funkce najde token v řetězci, na který ukazuje strtok. Oddělovač ukazatele ukazuje na oddělovací znaky.

Tuto funkci lze volat vícekrát, abyste získali tokeny ze stejného řetězce. Existují dva případy:

  • Pokud str není NULL:
    Volání strtok () je považováno za první volání pro tento řetězec. Funkce vyhledá první znak, který není obsažen v oddělovači. Pokud není takový znak nalezen, řetězec neobsahuje žádný token. Vrátí se tedy nulový ukazatel. Je-li takový znak nalezen, odtud funkce vyhledá znak, který je přítomen v oddělovači. Pokud není nalezen žádný oddělovač, str má pouze jeden token. Pokud je nalezen oddělovač, je nahrazen ' 0' a ukazatel na následující znak je uložen ve statickém umístění pro následné vyvolání. Nakonec funkce vrátí ukazatel na začátek tokenu.
  • Pokud str je NULL:
    Volání je považováno za následné volání strtok a funkce pokračuje od místa, kde odešla v předchozím vyvolání.

Je definován v hlavičkovém souboru.

strtok () Parametry

  • str: Ukazatel na nulový ukončený bajtový řetězec k tokenizaci.
  • delim: Ukazatel na nulový ukončený bajtový řetězec, který obsahuje oddělovače.

strtok () Vrátí hodnotu

strtok()Funkce vrací ukazatel na další token, pokud existuje, nebo se vrátí NULL, pokud jsou zjištěny žádné další žetony.

Příklad: Jak funguje funkce 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; )

Když spustíte program, výstup bude:

 Žetony jsou: vrána vrána vrabčího vrabce

Zajímavé články...