C ++ wcstok () - Biblioteca standard C ++

Funcția wcstok () din C ++ returnează următorul simbol într-un șir larg terminat nul.

Funcția wcstok () este definită în fișierul antet.

wcstok () prototip

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

Funcția wcstok () ia trei argumente: str, delim și ptr. Această funcție găsește indicativul în șirul larg indicat de str. Delimitarea indicatorului indică caracterele separatoare.

Această funcție poate fi apelată de mai multe ori pentru a obține jetoane din același șir larg. Există două cazuri:

  1. Dacă str nu este NULL:
    Un apel către wcstok () este considerat primul apel pentru acel șir larg. Funcția caută primul caracter larg care nu este conținut în delim. Dacă nu se găsește un caracter atât de larg, șirul larg nu conține niciun indicativ. Deci, un pointer nul este returnat.
    Dacă se găsește un caracter atât de larg, de acolo funcția caută un caracter larg care este prezent în delim. Dacă nu se găsește niciun separator, str are un singur simbol. Dacă se găsește un separator, acesta este înlocuit cu L ' 0' și indicatorul către următorul caracter este stocat în * ptr. În cele din urmă, funcția returnează indicatorul la începutul simbolului.
  2. Dacă str este NULL:
    apelul este considerat ca apeluri ulterioare către wcstok și funcția continuă de unde a plecat în invocarea anterioară cu același * ptr.

wcstok () Parametri

  • str: Pointer către șirul larg terminat nul pentru a tokeniza.
  • delim: Pointer către șirul larg terminat nul care conține separatorii.
  • ptr: Pointer către un pointer către un caracter larg care este folosit de wcstok pentru a stoca starea sa internă.

wcstok () Valoare returnată

  • Funcția wcstok () returnează indicatorul la începutul tokenului următor, dacă există
  • Revine NULL dacă nu mai sunt găsite jetoane.

Exemplu: Cum funcționează funcția wcstok ()?

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

Când rulați programul, ieșirea va fi:

 Jetoanele sunt: ​​papagal bufniță vrabie porumbel corb

Articole interesante...