Функција вцсток () у Ц ++-у враћа следећи токен у нулу окончаном широком низу.
Функција вцсток () је дефинисана у датотеци заглавља.
прототип вцсток ()
вцхар_т * вцсток (вцхар_т * стр, цонст вцхар_т * делим, вцхар_т ** птр);
Функција вцсток () узима три аргумента: стр, делим и птр. Ова функција проналази жетон у широком низу на који показује стр. Разграничење показивача показује на знакове раздвајача.
Ова функција се може позвати више пута за добивање токена из истог широког низа. Постоје два случаја:
- Ако стр није НУЛЛ:
Позив вцсток () сматра се првим позивом за тај широки низ. Функција тражи први широки знак који није садржан у делиму. Ако се не пронађе тако широк знак, широки низ не садржи ниједан жетон. Тако се враћа нулл показивач.
Ако се пронађе тако широк знак, одатле функција тражи широки знак који је присутан у разграничењу. Ако није пронађен сепаратор, стр има само један токен. Ако се пронађе сепаратор, он се замењује с Л ' 0', а показивач на следећи знак чува се у * птр. Коначно, функција враћа показивач на почетак токена. - Ако је стр НУЛЛ:
позив се сматра накнадним позивима вцсток и функција се наставља од места одакле је отишла у претходном позиву са истим * птр.
вцсток () Параметри
- стр: показивач на нулто завршени широки низ за токенизацију.
- делим: Показивач на нулто завршени широки низ који садржи сепараторе.
- птр: Показивач на показивач на широк знак који вцсток користи за чување свог унутрашњег стања.
вцсток () Повратна вредност
- Функција вцсток () враћа показивач на почетак следећег токена ако постоји
- Враћа НУЛЛ ако више није пронађен ниједан жетон.
Пример: Како функционише функција вцсток ()?
#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; )
Када покренете програм, излаз ће бити:
Жетони су: папагај сова врабац голуб врана