WCSTOK(3)

NOMBRE
wcstok - divide una cadena de caracteres anchos en tokens

SYNOPSIS
#include <wchar.h>

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

DESCRIPCIÓN
La función wcstok es el equivalente de caracteres anchos de la función strtok, con el argumento añadido para hacerlo seguro en un entorno multihilo. Se puede usar para dividir una cadena de caracteres anchos wcs en tokens, donde un token se define como una subcadena que no contenga ningún carácter ancho de delim.

La búsqueda comienza en wcs, si wcs no es NULL, o en *ptr, si wcs es NULL. Primero, cualquier carácter ancho delimitador se salta, es decir, el puntero avanza más allá de cualquier carácter ancho que aparezca en delim. Si ahora se alcanza el final de la cadena de caracteres anchos, wcstok devuelve NULL, para indicar que no se ha encontrado ningún token y guarda un valor apropiado en *ptr. Así, las sucesivas llamadas a wcstok continuarán devolviendo NULL. En otro caso, la función wcstok reconoce el comienzo de un token y devuelve un puntero a él, pero antes de hacerlo termina en cero el token reemplazando el siguiente carácter ancho que aparece en delim por un carácter L'\0' y actualiza *ptr para que las sucesivas llamadas continúen buscando tras el final del token reconocido.

VALOR DEVUELTO
La función wcstok devuelve a un puntero al siguiente token, o NULL si no se encuentran más token.

OBSERVACIONES
La cadena de caracteres anchos original wcs se modifica de forma destructiva durante la operación.

EJEMPLO
El siguiente código realiza un bucle sobre los tokens contenidos en una cadena de caracteres anchos.

wchar_t *wcs = ...;
wchar_t *token;
wchar_t *state;
for (token = wcstok(wcs, " \t\n", &state);
     token != NULL;
     token = wcstok(NULL, " \t\n", &state)) {
  ...
}

CONFORME A
ISO/ANSI C, UNIX98

VÉASE TAMBIÉN
strtok(3), wcschr(3)