---
name: "ustrtok_r"
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_r"
---

# ustrtok\_r(3alleg)

Reentrant function to retrieve tokens from a string. Allegro game programming library.

## NAME

ustrtok\_r - Reentrant function to retrieve tokens from a string. Allegro game programming library.

## SYNOPSIS

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

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

## DESCRIPTION

Reentrant version of ustrtok. The \`last' parameter is used to keep track of where the parsing is up to and must be a pointer to a char \* variable allocated by the user that remains the same while parsing the same string. Example:

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

## RETURN VALUE

Returns a pointer to the token, or NULL if no more are found. You can free the memory pointed to by \`last' once NULL is returned.

## SEE ALSO

[**ustrtok**(3alleg)](/ustrtok/3alleg.md)
