Available in

(3) (3)/es (3)/fr (3)/ja

Contents

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)

COMMENTS

blog comments powered by Disqus