Compartilhar via


_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l

Formata e exibe no console, e oferece suporte a parâmetros posicionais na cadeia de caracteres de formato.

Importante

Esta API não pode ser usada em aplicativos que executam no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /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 controle de formato.

  • argument
    Parâmetros opcionais.

  • locale
    A localidade a ser usada.

Valor de retorno

O número de caracteres impressos ou um valor negativo, caso ocorra um erro.

Comentários

Essas funções formatam e imprimem uma série de caracteres e valores diretamente para o console, usando as funções _putch e _putwch para caracteres de saída. Cada argument (se houver) é convertido e gerado de acordo com a especificação de formato correspondente em format. O formato tem o mesmo formulário e a mesma função que o parâmetro format para a função printf_p. A diferença entre _cprintf_p e cprintf_s é que _cprintf_p oferece suporte aos parâmetros posicionais, o que permite especificar a ordem em que os argumentos são usados na cadeia de caracteres de formato. Para obter mais informações, consulte Parâmetros posicionais printf_p.

Ao contrário das funções fprintf_p, printf_p e sprintf_p, nem _cprintf_p, nem _cwprintf_p traduz caracteres de alimentação de linha em combinações de alimentação da linha de retorno de transporte (CR-LF) na saída. Uma distinção importante é que _cwprintf_p exibe 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 _l são idênticas, exceto que elas usam o parâmetro de localidade informado em vez da localidade atual.

Observação de segurançaObservação de segurança

Verifique se format não é uma cadeia de caracteres definida pelo usuário.

Além disso, como _cprintf_s e _cwprintf_s, eles validam o ponteiro de entrada e a cadeia de caracteres de formato. Se format ou argument forem NULL, ou se a cadeia de caracteres de formato conter caracteres de formatação inválidos, essas funções e chamam o manipulador de parâmetro inválido, conforme descrito em Validação do parâmetro. Se a execução puder continuar, essas funções retornarão -1 e definirão errno a EINVAL.

Mapeamentos da rotina de texto genérico

Rotina Tchar.h

_UNICODE e _MBCS não definidos

_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 obter mais informações de compatibilidade, consulte Compatibilidade.

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

Console e E/S de porta

_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

Parâmetros posicionais printf_p

Parâmetros posicionais printf_p

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