WCSTOK(3) Manual do Programador do Linux WCSTOK(3)

wcstok - separa uma string de caracteres largos em tokens

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

A função wcstok() é o equivalente de caracteres largos da função strtok(), com um argumento adicional para torná-la segura para multithread. Ela pode ser usada para separar uma string de caracteres largos wcs em tokens, onde um token é definido como uma substring que não contém nenhum dos caracteres largos de delim.

A busca inicia em wcs, se wcs não é NULO, ou em *ptr, se wcs é NULO. Primeiramente, quaisquer caracteres largos delimitadores são pulados, ou seja o ponteiro é avançado além de quaisquer caracteres largos que ocorrem em delim. Se o fim da string de caracteres largos é alcançado neste momento, wcstok() retorna NULO, para indicar que nenhum token foi encontrado, e guarda um valor apropriado em *ptr, de forma que chamadas subsequentes a wcstok() continuarão retornando NULO. Caso contrário, a função wcstok() reconhece o início de um token e retorna um ponteiro para ele, mas antes de fazê-lo, ela termina com zero o token, substituindo o próximo caractere largo que ocorre em delim com um caractere (L'\0'), e ela atualiza *ptr de forma que as chamadas subsequentes continuarão a busca depois do fim do token reconhecido.

A função wcstok() retorna um ponteiro para o próximo token, ou NULO se nenhum token adicional foi encontrado.

Para uma explicação dos termos usados nesta seção, consulte attributes(7).
Interface Atributo Valor
wcstok() Thread safety MT-Safe

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

A string de caracteres largos original wcs é modificada destrutivamente durante a operação.

O seguinte código percorre os tokens contidos numa string de caracteres largos.
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 faz parte da versão 5.11 do projeto Linux man-pages. Uma descrição do projeto, informações sobre relatórios de bugs e a versão mais recente desta página podem ser encontradas em https://www.kernel.org/doc/man-pages/.

A tradução para português brasileiro desta página man foi criada por Felipe M Pereira <Felipe.Pereira@ic.unicamp.br>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>.

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.

22 março 2021 GNU