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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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 ⟨debian-l10n-portuguese@lists.debian.org⟩.