C ++ strtok () - C ++ standarta bibliotēka

Funkcija strtok () C ++ atgriež nākamo marķieri nulles gala baitu virknē.

strtok () prototips

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

strtok()Funkcija aizņem divus argumentus: iela un norobežotāja. Šī funkcija atrod marķieri virknē, uz kuru norāda strtok. Rādītāja norobežojums norāda uz atdalītāja rakstzīmēm.

Šo funkciju var izsaukt vairākas reizes, lai iegūtu marķierus no vienas virknes. Ir divi gadījumi:

  • Ja str nav NULL:
    Zvans uz strtok () tiek uzskatīts par pirmo šīs virknes izsaukumu. Funkcija meklē pirmo rakstzīmi, kas nav iekļauta delim. Ja šāda rakstzīme nav atrasta, virkne nesatur marķieri. Tātad tiek atgriezts nulles rādītājs. Ja tiek atrasta šāda rakstzīme, funkcija no turienes meklē rakstzīmi, kas atrodas delim. Ja atdalītājs netiek atrasts, str ir tikai viens marķieris. Ja tiek atrasts atdalītājs, tas tiek aizstāts ar “ 0”, un rādītājs uz nākamo rakstzīmi tiek saglabāts statiskā vietā turpmākajām izsaukšanām. Visbeidzot, funkcija atgriež rādītāju marķiera sākumā.
  • Ja str ir NULL:
    Zvans tiek uzskatīts par nākamajiem zvaniem uz strtok un funkcija turpinās no vietas, kur tā palika iepriekšējā izsaukumā.

Tas ir definēts galvenes failā "> header file.

strtok () parametri

  • str: Rādītājs nulles izbeigtajai baitu virknei, lai to marķētu.
  • delim: Rādītājs nulles gala baitu virknei, kurā ir atdalītāji.

strtok () Atgriešanās vērtība

strtok()Funkcija atgriež rādītāju uz nākamo marķieri, ja tāds ir, vai arī tas atgriež NULL, ja nav atrasts neviens vairāk žetonus.

Piemērs: Kā darbojas strtok () funkcija

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

Palaidot programmu, izeja būs:

 Žetoni ir: papagaiļa pūces zvirbuļa balodis vārna

Interesanti raksti...