---
name: "ustrtok"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/ustrtok"
---

# ustrtok(3alleg)

Retrieves tokens from a string. Allegro game programming library.

## NAME

ustrtok - Retrieves tokens from a string. Allegro game programming library.

## SYNOPSIS

**#include \<allegro.h\>**

**char \*ustrtok(char \*s, const char \*set);**

## DESCRIPTION

This function retrieves tokens from \`s' which are delimited by characters from \`set'. To initiate the search, pass the string to be searched as \`s'. For the remaining tokens, pass NULL instead. Warning: Since ustrtok alters the string it is parsing, you should always copy the string to a temporary buffer before parsing it. Also, this function is not re-entrant (ie. you cannot parse two strings at the same time). Example:

```
   char *word;
   char string[]="some-words with dashes";
   char *temp = ustrdup(string);
   word = ustrtok(temp, " -");
   while (word) {
      allegro_message("Found `%s'\n", word);
      word = ustrtok(NULL, " -");
   }
   free(temp);
```

## RETURN VALUE

Returns a pointer to the token, or NULL if no more are found.

## SEE ALSO

[**uconvert**(3alleg)](/uconvert/3alleg.md), [**ustrchr**(3alleg)](/ustrchr/3alleg.md), [**ustrrchr**(3alleg)](/ustrrchr/3alleg.md), [**ustrstr**(3alleg)](/ustrstr/3alleg.md), [**ustrpbrk**(3alleg)](/ustrpbrk/3alleg.md), [**ustrtok\_r**(3alleg)](/ustrtok_r/3alleg.md), [**allegro\_message**(3alleg)](/allegro_message/3alleg.md), [**ustrncpy**(3alleg)](/ustrncpy/3alleg.md), [**exgui**(3alleg)](/exgui/3alleg.md)
