wprintf(3) | Library Functions Manual | wprintf(3) |
wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - conversão de saída formatada de caracteres largos
Biblioteca C Padrão (libc, -lc)
#include <stdio.h> #include <wchar.h>
int wprintf(const wchar_t *restrict format, ...); int fwprintf(FILE *restrict stream, const wchar_t *restrict format, ...); int swprintf(wchar_t wcs[restrict .maxlen], size_t maxlen, const wchar_t *restrict format, ...);
int vwprintf(const wchar_t *restrict format, va_list args); int vfwprintf(FILE *restrict stream, const wchar_t *restrict format, va_list args); int vswprintf(wchar_t wcs[restrict .maxlen], size_t maxlen, const wchar_t *restrict format, va_list args);
Todas as funções mostradas acima:
_XOPEN_SOURCE >= 500 || _ISOC99_SOURCE
|| _POSIX_C_SOURCE >= 200112L
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:
O tratamento de caracteres de conversão c e s é diferente:
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.
Para uma explicação dos termos usados nesta seção, consulte attributes(7).
Interface | Atributo | Valor |
wprintf(), fwprintf(), swprintf(), vwprintf(), vfwprintf(), vswprintf() | Thread safety | MT-Safe locale |
POSIX.1-2001, POSIX.1-2008, C99.
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)).
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.
5 fevereiro 2023 | Linux man-pages 6.03 |