_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l
Formatos e imprime no console, com suporte para parâmetros posicionais 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 _cprintf_p(
const char * format [,
argument] ...
);
int _cprintf_p_l(
const char * format,
locale_t locale [,
argument] ...
);
int _cwprintf_p(
const wchar * format [,
argument] ...
);
int _cwprintf_p_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 ou um valor negativo se ocorrer um erro.
Comentários
O formato dessas funções e imprime uma série de caracteres e valores diretamente para o console, usando as funções de _putch e da _putwch 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_p .A diferença entre _cprintf_p e cprintf_s é que _cprintf_p suporta parâmetros posicionais, que permite 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.
Ao contrário de fprintf_p, de printf_p, e funções de sprintf_p , nem nem _cprintf_p_cwprintf_p 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_p caracteres Unicode quando usado no Windows NT.Ao contrário de _cprintf_p, _cwprintf_p usa as configurações de localidade atual de 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. |
Além disso, como _cprintf_s e _cwprintf_s, validar o ponto de entrada e a cadeia de caracteres de formato.Se format ou argument são NULL, ou de 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 |
---|---|---|---|
_tcprintf_p |
_cprintf_p |
_cprintf_p |
_cwprintf_p |
_tcprintf_p_l |
_cprintf_p_l |
_cprintf_p_l |
_cwprintf_p_l |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_cprintf_p,_cprintf_p_l |
<conio.h> |
_cwprintf_p,_cwprintf_p_l |
<conio.h> |
Para mais informações, consulte Compatibilidade de compatibilidade na introdução.
Exemplo
// crt_cprintf_p.c
// This program displays some variables to the console
// using the _cprintf_p function.
#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_p( "%2$d %1$.4x %3$u %4$c %5$s\r\n",
h, i, u, c, s );
}
Consulte também
Referência
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
_cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l
_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l
fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l
printf_s, _printf_s_l, wprintf_s, _wprintf_s_l
_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l
_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l
_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
printf_p parâmetros posicional
printf_p parâmetros posicional
Sintaxe de especificação de formato: funções printf e and wprintf