_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.
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 _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ç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
_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