Compartilhar via


_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l

Gravar saída formatados no console usando um ponteiro para uma lista de argumentos.Essas são versões de _vcprintf, _vcprintf_l, _vcwprintf, _vcwprintf_l com aprimoramentos de segurança conforme descrito em Recursos de segurança no CRT.

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( const char* format, va_list argptr ); int _vcprintf( const char* format, locale_t locale, va_list argptr ); int _vcwprintf_s( const wchar_t* format, va_list argptr ); int _vcwprintf_s_l( const wchar_t* format, locale_t locale, va_list argptr );

Parâmetros

  • format
    Formatar a especificação.

  • 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

O número de caracteres gravados, ou um valor negativo se ocorrer um erro de saída.

Como a versão de não Seguro dessas funções, se format é um ponteiro zero, o manipulador inválido do parâmetro é chamado, como descrito em Validação de parâmetro.Além disso, diferentemente da versão de não Seguro dessas funções, se format não especificar um formato válido, uma exceção é gerada inválido do parâmetro.Se a execução é permitida continuar, essas funções retornam

Comentários

Cada uma dessas funções tem um ponteiro para um lista de argumentos, então os formatos e grava dados para os dados no console._vcwprintf_s é a versão do largo- caractere de _vcprintf_s.Usa uma cadeia de caracteres de largo- caracteres como um argumento.

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

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.

Mapeamentos da rotina de Genérico- texto

Rotina de TCHAR.H

_UNICODE & _MBCS não definidos

_MBCS definido

_UNICODE definido

_vtcprintf_s

_vcprintf_s

_vcprintf_s

_vcwprintf_s

_vtcprintf_s_l

_vcprintf_s_l

_vcprintf_s_l

_vcwprintf_s_l

Requisitos

Rotina

Cabeçalho necessário

Cabeçalhos opcionais

_vcprintf_s, _vcprintf_s_l

<conio.h> e <stdarg.h>

<varargs.h>*

_vcwprintf_s, _vcwprintf_s_l

<conio.h> ou <wchar.h>, e <stdarg.h>

<varargs.h>*

* Necessário para a compatibilidade de UNIX V.

Para informações extras de compatibilidade Compatibilidade na introdução, consulte.

Exemplo

// crt_vcprintf_s.cpp
#include <conio.h>
#include <stdarg.h>

// An error formatting function used to print to the console.
int eprintf_s(const char* format, ...)
{
  va_list args;
  va_start(args, format);
  return _vcprintf_s(format, args);
}

int main()
{
   eprintf_s("  (%d:%d): Error %s%d : %s\n", 10, 23, "C", 2111,
           "<some error text>");
   eprintf_s("  (Related to symbol '%s' defined on line %d).\n",
           "<symbol>", 5 );
}
  

Equivalência do .NET Framework

System::Console::Write

Consulte também

Referência

Fluxo de i/O

Funções vprintf

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

va_arg, va_end, va_start