Provided by: manpages-pt-br-dev_4.13-4_all bug

NOME

       wprintf,  fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - conversão de saída formatada de caracteres
       largos

SINOPSE

       #include <stdio.h>
       #include <wchar.h>

       int wprintf(const wchar_t *formato, ...);
       int fwprintf(FILE *fluxo, const wchar_t *formato, ...);
       int swprintf(wchar_t *wcs, size_t maxcomp,
                    const wchar_t *formato, ...);

       int vwprintf(const wchar_t *formato, va_list args);
       int vfwprintf(FILE *fluxo, const wchar_t *formato, va_list args);
       int vswprintf(wchar_t *wcs, size_t maxcomp,
                     const wchar_t *formato, va_list args);

   Requisitos de macro de teste de recursos para o glibc (consulte feature_test_macros(7)):

       Todas as funções mostradas acima:
           _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE ||
           _POSIX_C_SOURCE >= 200112L

DESCRIÇÃO

       A família de funções wprintf() é a equivalente para caracteres largos à família de funções printf(3). Ela
       realiza a saída formatada de caracteres largos.

       As funções wprintf() e vwprintf() realizam saída de caracteres largos para stdout. stdout  não  deve  ser
       orientado a byte; veja fwide(3) para maiores informações.

       As  funções  fwprintf()  e vfwprintf() realizam saída de caracteres largos para fluxo. fluxo não deve ser
       orientado a byte; veja fwide(3) para maiores informações.

       As funções swprintf() e vswprintf() realizam saída de caracteres  largos  para  um  array  de  caracteres
       largos.  O  programador deve garantir que há espaço suficiente para no mínimo maxlen caracteres largos em
       wcs.

       Estas funções são como as funções printf(3), vprintf(3), fprintf(3), vfprintf(3), sprintf(3), vsprintf(3)
       exceto pelas seguintes diferenças:

             A formato é uma string de caracteres largos.

             A saída consiste de caracteres largos, não bytes.

             swprintf() e vswprintf() recebem um argumento  maxcomp,  sprintf(3)  e  vsprintf(3)  não  recebem.
              (snprintf(3) e vsnprintf(3) recebem um argumento maxcomp, mas estas funções não retornam -1 quando
              ocorre um estouro de buffer no GNU/Linux.)

       O tratamento de caracteres de conversão c e s é diferente:

       c      Se  nenhum  modificador  l está presente, o argumento int é convertido para um caractere largo por
              uma chamada a para a função btowc(3), e o caractere largo resultante é escrito. Se um  modificador
              l está presente, o argumento wint_t (caractere largo) é escrito.

       s      Se  nenhum  modificador l está presente: O argumento const char * é esperado como um ponteiro para
              um tipo de array de caracteres (ponteiro para uma string) contendo  uma  sequência  de  caracteres
              multibyte  começando  no  estado  de  transição  inicial. Caracteres do array são convertidos para
              caracteres largos (cada um por uma  chamada  à  função  mbrtowc(3)  com  um  estado  de  conversão
              iniciando no estado inicial antes do primeiro byte). Os caracteres largos resultantes são escritos
              até  (mas  não  incluindo)  o  caractere  largo  nulo  de  terminação  (L'\0').  Se uma precisão é
              especificado, nenhum caractere largo a mais que o  número  especificado  é  escrito.  Note  que  a
              precisão  determina  o  número de caracteres largos escritos, não o número de bytes ou posições de
              tela. O array deve conter um byte nulo de terminação ('\0'), a não ser que a precisão seja dada  e
              ela  seja  tão  pequena que o número de caracteres largos convertidos a alcance antes que o fim do
              array seja alcançado. -- Se um modificador l está presente: O argumento const wchar_t * é esperado
              como um ponteiro para um array de caracteres largos. Caracteres largos do array são  escritos  até
              (mas  não incluindo) um caractere largo nulo de terminação. Se uma precisão é especificada, nenhum
              caractere largo a mais do que o número especifica é escrito. O  array  deve  conter  um  caractere
              largo  nulo  de terminação, a não ser que a precisão seja dada e ela seja menor ou igual ao número
              de caracteres largos no array.

VALOR DE RETORNO

       As funções retornam o número de caracteres largos  escritos,  excluindo-se  o  caractere  largo  nulo  de
       terminação no caso das funções swprintf() e vswprintf(). Elas retornam -1 quando ocorre um erro.

ATRIBUTOS

       Para uma explicação dos termos usados nesta seção, consulte attributes(7).
       ┌──────────────────────────┬───────────────┬────────────────┐
       │ InterfaceAtributoValor          │
       ├──────────────────────────┼───────────────┼────────────────┤
       │ wprintf(), fwprintf(),   │ Thread safety │ MT-Safe locale │
       │ swprintf(), vwprintf(),  │               │                │
       │ vfwprintf(), vswprintf() │               │                │
       └──────────────────────────┴───────────────┴────────────────┘

DE ACORDO COM

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

NOTAS

       O comportamento de wprintf() etc. depende da categoria LC_CTYPE da localização atual.

       Se  a string formato contiver caracteres largos não-ASCII, o programa funcionará corretamente apenas se a
       categoria LC_CTYPE da localização atual em tempo de execução for a mesma  que  a  categoria  LC_CTYPE  da
       localização  atual  em  tempo  de  compilação.  Isto  é  porque  a  representação wchar_t é dependente de
       plataforma e da localização. (A glibc representa caracteres largos usando seu  ponto  de  código  Unicode
       (ISO-10646),  mas outras plataformas não o fazem. Ademais, o uso de nomes de caracteres universais C99 da
       forma \unnnn não resolve este problema.) Portanto, em programas  internacionalizados,  a  string  formato
       deve  consistir  apenas  de  caracteres largos ASCII, ou deve ser compilado em tempo de execução de forma
       internacionalizada (ou seja, usando gettext(3) ou iconv(3), seguido de mbstowcs(3)).

VEJA TAMBÉM

       fprintf(3), fputwc(3), fwide(3), printf(3), snprintf(3)

COLOFÃO

       Esta página faz parte da versão 5.10 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/.

TRADUÇÃO

       A  tradução  para  português  brasileiro  desta  página   man   foi   criada   por   Felipe   M   Pereira
       <Felipe.Pereira@ic.unicamp.br>,  Ricardo C.O.Freitas <english.quest@best-service.com> 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.

GNU                                               6 março 2019                                        WPRINTF(3)