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