Partilhar via


_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l

Formatos e imprime no console.Essas são versões de _cprintf, _cprintf_l, _cwprintf, _cwprintf_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 _cprintf_s( const char * format [, argument] ... ); int _cprintf_s_l( const char * format, locale_t locale [, argument] ... ); int _cwprintf_s( const wchar * format [, argument] ... ); int _cwprintf_s_l( const wchar * format, locale_t locale [, argument] ... );

Parâmetros

  • format
    Cadeia de caracteres de formato - controle.

  • argument
    Parâmetros opcionais.

  • locale
    A localidade a ser usada.

Valor de retorno

O número de caracteres impressos.

Comentários

Essas funções de formatação e imprimem uma série de caracteres e valores diretamente para o console, usando a função de _putch (_putwch para _cwprintf_s) para caracteres de saída.Cada argument (se houver) é convertido e saída de acordo com a especificação correspondente de formato personalizado em format.O formato tem o mesmo formulário e função que o parâmetro de format para a função de printf_s .Ao contrário de fprintf_s, de printf_s, e funções de sprintf_s , nem nem _cprintf_s_cwprintf_s traduzirem caracteres de alimentação de linha na linha retorno- combinações de carro de avanço (CR-LF) quando saída.

Uma distinção importante é que exibe _cwprintf_s caracteres Unicode quando usado no Windows NT.Ao contrário de _cprintf_s, _cwprintf_s usa a localidade atual do console

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.

Como as versões de não seguros (consulte _cprintf, _cprintf_l, _cwprintf, _cwprintf_l), essas funções validam seus parâmetros e invocam o manipulador de parâmetro inválido, como descrito em Validação de parâmetro, se format é um ponteiro nulo.Essas funções diferem das versões de não Seguro que a própria cadeia de caracteres de formato é validada também.Se houver um desconhecido ou malformado especificadores de formatação, essas funções chamam o manipulador inválido do parâmetro.Em todos os casos, se a execução são permitidos continuar, o retorno -1 das funções e conjunto errno a EINVAL.

Mapeamentos da rotina de Genérico- texto

Rotina de Tchar.h

_UNICODE e não definidos _MBCS

_MBCS definido

_UNICODE definido

_tcprintf_s

_cprintf_s

_cprintf_s

_cwprintf_s

_tcprintf_s_l

_cprintf_s_l

_cprintf_s_l

_cwprintf_s_l

Requisitos

Rotina

Cabeçalho necessário

_cprintf_s,_cprintf_s_l

<conio.h>

_cwprintf_s, _cwprintf_s_l

<conio.h>

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

Bibliotecas

Todas as versões de Bibliotecas em tempo de execução de C.

Exemplo

// crt_cprintf_s.c
// compile with: /c
// This program displays some variables to the console.


#include <conio.h>

int main( void )
{
   int      i = -16, h = 29;
   unsigned u = 62511;
   char     c = 'A';
   char     s[] = "Test";

   /* Note that console output does not translate \n as
    * standard output does. Use \r\n instead.
    */
   _cprintf_s( "%d  %.4x  %u  %c %s\r\n", i, h, u, c, s );
}

Saída

-16  001d  62511  A Test

Consulte também

Referência

Console e a porta de e/S

_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Sintaxe de especificação de formato: funções printf e and wprintf