_vscprintf_p, _vscprintf_p_l, _vscwprintf_p, _vscwprintf_p_l
Retorna o número de caracteres na cadeia de caracteres formatada usando um ponteiro para uma lista de argumentos, com a capacidade de especificar a ordem em que os argumentos forem usados.
int _vscprintf_p(
const char *format,
va_list argptr
);
int _vscprintf_p _l(
const char *format,
locale_t locale,
va_list argptr
);
int _vscwprintf_p (
const wchar_t *format,
va_list argptr
);
int _vscwprintf_p _l(
const wchar_t *format,
locale_t locale,
va_list argptr
);
Parâmetros
format
Cadeia de caracteres de controle de formato.argptr
Ponteiro para a lista de argumentos.locale
A localidade a ser usada.
Para obter mais informações, consulte Especificações de formato.
Valor de retorno
_vscprintf_p retorna o número de caracteres que serão gerados se a cadeia de caracteres apontada pela lista de argumentos foi impressa ou enviada a um arquivo ou um buffer usando os códigos de formatação especificados. O valor retornado não inclui o caractere nulo sendo encerrado. _vscwprintf_p executa a mesma função para caracteres amplos.
Comentários
Essas funções diferem de _vscprintf e _vscwprintf somente porque oferecem suporte à capacidade de especificar a ordem em que os argumentos são usados. Para obter mais informações, consulte Parâmetros posicionais printf_p.
As versões dessas funções com o sufixo _l são idênticas, exceto que usam o parâmetro de localidade passado em vez da localidade de thread atual.
Se format for um ponteiro nulo, o manipulador de parâmetro inválido será chamado, como descrito em Validação do parâmetro. Se a execução puder continuar, as funções retornarão -1 e definirão errno como EINVAL.
Observação de segurança |
---|
Certifique-se de que se format é uma cadeia de caracteres definida pelo usuário, é encerrada e zero tenha-se o número e o tipo de parâmetros corretos.Para obter mais informações, consulte Evitando saturações de buffer. |
Mapeamentos da rotina de texto genérico
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_vsctprintf_p |
_vscprintf_p |
_vscprintf_p |
_vscwprintf_p |
_vsctprintf_p_l |
_vscprintf_p_l |
_vscprintf_p_l |
_vscwprintf_p_l |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_vscprintf_p, _vscprintf_p_l |
<stdio.h> |
_vscwprintf_p, _vscwprintf_p_l |
<stdio.h> ou <wchar.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.
Exemplo
Consulte o exemplo de vsprintf.