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)