Compartilhar via


_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çaObservaçã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.

Consulte também

Referência

Funções vprintf

_scprintf_p, _scprintf_p_l, _scwprintf_p, _scwprintf_p_l

_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l