C ++ wcstok () - C ++ standardna knjižnica

Funkcija wcstok () u C ++-u vraća sljedeći token u nulu okončanom širokom nizu.

Funkcija wcstok () definirana je u zaglavnoj datoteci.

prototip wcstok ()

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

Funkcija wcstok () uzima tri argumenta: str, delim i ptr. Ova funkcija pronalazi žeton u širokom nizu na koji pokazuje str. Razdjelnik pokazivača pokazuje na znakove za razdvajanje.

Ova se funkcija može pozvati više puta za dobivanje tokena iz istog širokog niza. Postoje dva slučaja:

  1. Ako str nije NULL:
    poziv wcstok () smatra se prvim pozivom za taj široki niz. Funkcija traži prvi široki znak koji nije sadržan u delimu. Ako se ne pronađe tako širok znak, široki niz ne sadrži nijedan žeton. Tako se vraća null pokazivač.
    Ako se pronađe tako širok znak, odatle funkcija traži široki znak koji je prisutan u razgraničenju. Ako nije pronađen separator, str ima samo jedan token. Ako se pronađe separator, zamjenjuje se s L ' 0', a pokazivač na sljedeći znak sprema se u * ptr. Konačno, funkcija vraća pokazivač na početak tokena.
  2. Ako je str NULL:
    poziv se smatra naknadnim pozivima wcstok, a funkcija se nastavlja odakle je otišla u prethodnom pozivu s istim * ptr.

wcstok () Parametri

  • str: Pokazivač na nulto završeni široki niz za označavanje.
  • delim: Pokazivač na nulto završeni široki niz koji sadrži separatore.
  • ptr: Pokazivač na pokazivač na široki znak koji wcstok koristi za pohranu svog unutarnjeg stanja.

wcstok () Povratna vrijednost

  • Funkcija wcstok () vraća pokazivač na početak sljedećeg tokena ako postoji
  • Vraća NULL ako se više ne nađu žetoni.

Primjer: Kako funkcionira funkcija 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; )

Kada pokrenete program, izlaz će biti:

 Žetoni su: papagaj sova vrabac golub vrana

Zanimljivi članci...