WCSTOK(3) Manual del Programador de Linux WCSTOK(3)

wcstok - divide una cadena de caracteres anchos en tokens

#include <wchar.h>
wchar_t *wcstok(wchar_t *restrict wcs, const wchar_t *restrict delim,
                wchar_t **restrict ptr);

La función wcstok() es el equivalente de caracteres anchos de la función strtok(3), 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.

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

Para obtener una explicación de los términos usados en esta sección, véase attributes(7).
Interfaz Atributo Valor
wcstok() Seguridad del hilo Multi-hilo seguro

POSIX.1-2001, POSIX.1-2008, C99.

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

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)) {
    ...
}

strtok(3), wcschr(3)

Esta página es parte de la versión 5.11 del proyecto Linux man-pages. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en https://www.kernel.org/doc/man-pages/.

La traducción al español de esta página del manual fue creada por Pedro Pablo Fábrega <pfabrega@arrakis.es> y Juan Piernas <piernas@ditec.um.es>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org>..

22 Marzo 2021 GNU