C ++ strtok () - C ++ standaardbibliotheek

De functie strtok () in C ++ retourneert het volgende token in een met null beëindigde bytestring.

strtok () prototype

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

De strtok()functie heeft twee argumenten: str en delim. Deze functie vindt het token in de tekenreeks waarnaar wordt verwezen strtok. Het aanwijzer-scheidingsteken verwijst naar de scheidingstekens.

Deze functie kan meerdere keren worden aangeroepen om tokens uit dezelfde string te verkrijgen. Er zijn twee gevallen:

  • Als str niet NULL is:
    een aanroep van strtok () wordt beschouwd als de eerste aanroep voor die string. De functie zoekt naar het eerste teken dat niet tussen het scheidingsteken staat. Als zo'n teken niet wordt gevonden, bevat de string geen token. Dus een null-aanwijzer wordt geretourneerd. Als een dergelijk teken wordt gevonden, zoekt de functie van daaruit naar een teken dat als scheidingsteken aanwezig is. Als er geen scheidingsteken wordt gevonden, heeft str slechts één token. Als er een scheidingsteken wordt gevonden, wordt deze vervangen door ' 0' en wordt de pointer naar het volgende teken opgeslagen op een statische locatie voor volgende aanroepen. Ten slotte retourneert de functie de aanwijzer naar het begin van het token.
  • Als str NULL is:
    de aanroep wordt beschouwd als volgende aanroepen van strtok en de functie gaat verder waar hij was gebleven in de vorige aanroep.

Het wordt gedefinieerd in header-bestand "> header-bestand.

strtok () Parameters

  • str: Pointer naar de null-beëindigde bytestring om te tokeniseren.
  • delim: Pointer naar de met null beëindigde bytestring die de scheidingstekens bevat.

strtok () Retourwaarde

De strtok()functie retourneert de aanwijzer naar het volgende token als die er is, of retourneert NULL als er geen tokens meer worden gevonden.

Voorbeeld: hoe strtok () functie werkt

 #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; )

Wanneer u het programma uitvoert, is de uitvoer:

 De lopers zijn: papegaai uil mus duif kraai

Interessante artikelen...