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)) {
...
}
ISO/ANSI C, UNIX98
VÉASE TAMBIÉN¶
strtok(3),
wcschr(3)