Compartilhar via


_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l

Grava a saída formatada usando um ponteiro para uma lista de argumentos, e habilita a especificação da ordem em que os argumentos são usados.

int _vprintf_p(
   const char *format,
   va_list argptr 
);
int _vprintf_p_l(
   const char *format,
   locale_t locale,
   va_list argptr 
);
int _vwprintf_p(
   const wchar_t *format,
   va_list argptr 
);
int _vwprintf_p_l(
   const wchar_t *format,
   locale_t locale,
   va_list argptr 
);

Parâmetros

  • format
    Especificação 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

_vprintf_p e _vwprintf_p retornam o número de caracteres gravados, sem incluir o caractere nulo de terminação ou um valor negativo, no caso de ocorrer um erro de saída.

Comentários

Cada uma dessas funções leva um ponteiro a uma lista de argumentos e, em seguida, formata e grava os dados fornecidos em stdout. Essas funções diferem de vprintf_s e vwprintf_s 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.

_vwprintf_p é a versão de caracteres largos de _vprintf_p; as duas funções se comportarão de forma idêntica se o fluxo for aberto no modo de ANSI. No momento, _vprintf_p não tem suporte para saída em fluxo UNICODE.

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.

Observação de segurançaObservação de segurança

Verifique se format não é uma cadeia de caracteres definida pelo usuário.Para obter mais informações, consulte Evitando saturações de buffer.

Se format for um ponteiro nulo, ou se a cadeia de caracteres de formato conter caracteres inválidos de formatação, o manipulador de parâmetro inválido será chamado, conforme 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.

Mapeamentos da rotina de texto genérico

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS definido

_UNICODE definido

_vtprintf_p

_vprintf_p

_vprintf_p

_vwprintf_p

_vtprintf_p_l

_vprintf_p_l

_vprintf_p_l

_vwprintf_p_l

Requisitos

Rotina

Cabeçalho necessário

Cabeçalhos opcionais

_vprintf_p, _vprintf_p_l

<stdio.h> e <stdarg.h>

<varargs.h>*

_vwprintf_p, _vwprintf_p_l

<stdio.h> ou <wchar.h> e <stdarg.h>

<varargs.h>*

* Necessário para a compatibilidade de UNIX V.

O console não tem suporte em aplicativos do Windows Store. Os manipuladores de fluxo padrão associados ao console — stdin, stdout e stderr — devem ser redirecionados antes que as funções de tempo de execução do C possam utilizá-los em aplicativos do Windows Store. Para informações adicionais de compatibilidade, consulte Compatibilidade.

Equivalência do .NET Framework

System::Console::Write

Consulte também

Referência

E/S de fluxo

Funções vprintf

_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l

_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l

vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l

va_arg, va_copy, va_end, va_start

_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l

_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

Parâmetros posicionais printf_p