_vcprintf_p, _vcprintf_p_l, _vcwprintf_p, _vcwprintf_p_l

Grava formatados como saída para o console usando um ponteiro para uma lista de argumentos, e de parâmetros posicionais de suporte na cadeia de caracteres de formato.

Observação importanteImportante

Este API não pode ser usado em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW.

int _vcprintf_p( const char* format, va_list argptr ); int _vcprintf_p_l( const char* format, locale_t locale, va_list argptr ); int _vcwprintf_p( const wchar_t* format, va_list argptr ); int _vcwprintf_p_l( const wchar_t* format, locale_t locale, va_list argptr );

Parâmetros

  • format
    A especificação de formato.

  • argptr
    Um ponteiro para uma lista de argumentos.

  • locale
    A localidade a ser usada.

Para obter mais informações, consulte Sintaxe de especificação de formato: funções printf e and wprintf.

Valor de retorno

O número de caracteres que são escritos, ou um valor negativo se ocorrer um erro de saída.Se format é um ponteiro zero, o manipulador inválido do parâmetro é invocado, como descrito em Validação de parâmetro.Se a execução é permitida continuar, errno é definido como EINVAL e -1 são retornados.

Comentários

Cada uma dessas funções tem um ponteiro para um lista de argumentos e em seguida, usa a função de _putch para formatar os dados e gravar dados no console.(usa _putwch de_vcwprintf_p em vez de _putch._vcwprintf_p é a versão do largo- caractere de _vcprintf_p.Usa uma cadeia de caracteres de largo- caracteres como um argumento.)

As versões dessas funções que têm o sufixo de _l são idênticas exceto que eles usam o parâmetro de localidade que é passado em vez de localidade atual.

Cada argument (se houver) é convertido e é saída de acordo com a especificação correspondente de formato personalizado em format.A especificação de formato suporta parâmetros posicionais para que você possa especificar a ordem em que os argumentos são usados na cadeia de caracteres de formato.Para obter mais informações, consulte printf_p parâmetros posicional.

Essas funções não traduzem caracteres de alimentação de linha na linha retorno- combinações de carro de avanço (CR-LF) quando são saída.

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

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

Essas funções validam o ponto de entrada e a cadeia de caracteres de formato.Se format ou argument são NULL, ou se a cadeia de caracteres de formato de formatação contém caracteres inválidos, essas funções chamam o manipulador de parâmetro inválido, como descrito em Validação de parâmetro.Se a execução é permitida continuar, essas funções retornam -1 e errno definido como EINVAL.

Mapeamentos da rotina de Genérico- texto

Rotina de Tchar.h

_UNICODE e não definidos _MBCS

_MBCS definido

_UNICODE definido

_vtcprintf_p

_vcprintf_p

_vcprintf_p

_vcwprintf_p

_vtcprintf_p_l

_vcprintf_p_l

_vcprintf_p_l

_vcwprintf_p_l

Requisitos

Rotina

Cabeçalho necessário

_vcprintf_p, _vcprintf_p_l

<conio.h> e <stdarg.h>

_vcwprintf_p, _vcwprintf_p_l

<conio.h> e <stdarg.h>

Para mais informações, consulte Compatibilidadede compatibilidade.

Exemplo

// crt_vcprintf_p.c
// compile with: /c
#include <conio.h>
#include <stdarg.h>

// An error formatting function that's used to print to the console.
int eprintf(const char* format, ...)
{
  va_list args;
  va_start(args, format);
  return _vcprintf_p(format, args);
}

int main()
{
   int n = eprintf("parameter 2 = %2$d; parameter 1 = %1$s\r\n",
      "one", 222);
   _cprintf_s("%d characters printed\r\n");
}
  

Consulte também

Referência

Console e a porta de e/S

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

va_arg, va_end, va_start

printf_p parâmetros posicional