Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Importante |
|---|
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ç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");
}
Importante
Observação de segurança