table of contents
WCRTOMB(3) | Manual do Programador Linux | WCRTOMB(3) |
NOME¶
wcrtomb - converte um caractere largo para uma sequencia multibyte
SINOPSE¶
#include <wchar.h> size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps);
DESCRIÇÃO¶
O principal caso para esta função é quando s é não NULL e wc não é L'\0'. Nesse caso, a função wcrtomb converte o caractere largo wc para sua representação multibyte e armazena-o no início do vetor de caracteres apontado por s. Atualiza o indicador de deslocamento *ps, e retorna o tamanho da representação em multibyte, isto é, o número de bytes escritos em s.
Um caso diferente é quando s é não NULL mas wc é L'\0'. Nesse caso a função wcrtomb armazena no vetor de caracteres apontado por s a sequencia de deslocamento necessária para trazer *ps de volta ao seu estado inicial, seguida por um byte '\0'. Atualiza o indicador de de estado *ps (i.e. leva-o ao estado inicial), e retorna o tamanho da sequencia de deslocamento mais um, i.e. o número de bytes escritos em s.
O terceiro caso é quando s é NULL. Nesse caso wc é ignorado, e a função efetivamente retorna wcrtomb(buf,L'\0',ps) onde buf é um buffer interno anônimo.
Em todos os casos acima, se ps é um ponteiro NULL, o estado anônimo estático somente da a conhecer para a função wcrtomb é usada em seu lugar.
VALOR DE RETORNO¶
A função wcrtomb retorna o número de bytes que foram ou deveriam ter sido escritos para o vetor de byte s. Se wc não puder ser representado como uma sequencia multibyte (de acordo com o locale corrente), (size_t)(-1) é retornado, e errno é atualizado para EILSEQ.
CONFORMIDADE¶
ISO/ANSI C, UNIX98
VEJA TAMBÉM¶
NOTAS¶
O comportamento de wcrtomb depende da categoria LC_CTYPE do locale corrente.
A passagem de NULL como ps não é segura para multi-thread.
TRADUZIDO POR LDP-BR em 25/08/2000¶
Marcelo D. Beckmann <marcelobeckmann@yahoo.com> (tradução) Espaço para o Revisor <nome@dominio.com.br> (revisão)
25 Julho 1999 | GNU |