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

Funkcija wcstok () C ++ atgriež nākamo marķieri ar nulli izbeigtu plašu virkni.

Funkcija wcstok () ir definēta galvenes failā.

wcstok () prototips

 wchar_t * wcstok (wchar_t * str, const wchar_t * delim, wchar_t ** ptr);

Funkcijai wcstok () ir trīs argumenti: str, delim un ptr. Šī funkcija atrod marķieri plašajā virknē, uz kuru norāda str. 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 un tās pašas platās virknes. Ir divi gadījumi:

  1. Ja str nav NULL:
    Zvans uz wcstok () tiek uzskatīts par pirmo šīs platās virknes izsaukumu. Funkcija meklē pirmo plašo rakstzīmi, kas nav iekļauta delim. Ja tik plašs raksturs nav atrasts, platajā virknē nav marķiera. Tātad tiek atgriezts nulles rādītājs.
    Ja tiek atrasts tik plašs raksturs, no turienes funkcija meklē plašu rakstzīmi, kas atrodas norobežojumā. Ja atdalītājs netiek atrasts, str ir tikai viens marķieris. Ja tiek atrasts atdalītājs, tas tiek aizstāts ar L ' 0', un rādītājs uz nākamo rakstzīmi tiek saglabāts * ptr. Visbeidzot, funkcija atgriež rādītāju marķiera sākumā.
  2. Ja str ir NULL:
    Zvans tiek uzskatīts par nākamajiem izsaukumiem uz wcstok, un funkcija turpinās no vietas, kur tā palika iepriekšējā izsaukumā ar to pašu * ptr.

wcstok () parametri

  • str: rādītājs nulles izbeigtajai platajai virknei, lai to marķētu.
  • norobežot: rādītājs nulles izbeigtajai platajai virknei, kurā ir atdalītāji.
  • ptr: rādītājs uz plaša rakstura rādītāju, ko wcstok izmanto, lai saglabātu savu iekšējo stāvokli.

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

  • Funkcija wcstok () atgriež rādītāju nākamā marķiera sākumā, ja tāds ir
  • Ja vairs netiek atrasti marķieri, tas atgriež NULL.

Piemērs: Kā darbojas wcstok () funkcija?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"parrot,owl,sparrow,pigeon,crow"; wchar_t delim() = L"u002c";// unicode for comma wchar_t *ptr; wcout << L"The tokens are:" << endl; wchar_t *token = wcstok(str,delim,&ptr); while (token) ( wcout << token << endl; token = wcstok(NULL,delim,&ptr); ) return 0; )

Palaidot programmu, izeja būs:

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

Interesanti raksti...