Provided by: manpages-pt-br-dev_4.15.0-9_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 *restrict formato, ...);
       int fwprintf(FILE *restrict fluxo,
                    const wchar_t *restrict formato, ...);
       int swprintf(wchar_t *restrict wcs, size_t maxcomp,
                    const wchar_t *restrict formato, ...);

       int vwprintf(const wchar_t *restrict formato, va_list args);
       int vfwprintf(FILE *restrict fluxo,
                    const wchar_t *restrict formato, va_list args);
       int vswprintf(wchar_t *restrict wcs, size_t maxcomp,
                    const wchar_t *restrict 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(), swprintf(), vwprintf(),          │ Thread safety │ MT-Safe locale │
       │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.13 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⟩.