Sdílet prostřednictvím


_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l

Formátuje a tiskne na konzolu a podporuje parametry pozice ve formátovacím řetězci.

Důležitá poznámkaDůležité

Toto API nelze použít v aplikacích, které jsou spuštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /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] ...
);

Parametry

  • format
    Řetězec řízení formátu.

  • argument
    Volitelné parametry.

  • locale
    Použité národní prostředí.

Vrácená hodnota

Počet vytištěných znaků nebo v případě chyby záporná hodnota.

Poznámky

Tyto funkce naformátují a vytisknou řadu znaků a hodnot přímo na konzoli pomocí funkcí _putch a _putwch na výstupní znaky.Každý argument (pokud existuje) je převeden podle odpovídající specifikace formátu v format.Formát má stejnou formu a funkci, jako parametr format pro funkci printf_p.Rozdíl mezi _cprintf_p a cprintf_s je ten, že _cprintf_p podporuje poziční parametry, které umožňují určit pořadí, ve kterém jsou argumenty použity ve formátovacím řetězci.Další informace naleznete v tématu printf_p – poziční parametry.

Na rozdíl od funkcí fprintf_p, printf_p a sprintf_p ani _cprintf_p, ani _cwprintf_p nepřevádí znaky nového řádku na kombinaci návrat na začátek řádku–nový řádek na výstupu.Je důležité rozlišovat, že _cwprintf_p zobrazí znaky Unicode při použití v systému Windows NT.Na rozdíl od _cprintf_p_cwprintf_p používá aktuální nastavení národního prostředí konzoly.

Verze těchto funkcí s příponou _l jsou stejné s tím rozdílem, že používají parametr předaného národního prostředí namísto aktuálního národního prostředí.

Poznámka k zabezpečeníPoznámka k zabezpečení

Zajistěte, aby format nebyl uživatelem definovaný řetězec.

Také, jako _cprintf_s a _cwprintf_s ověřují vstupní ukazatel a formátovací řetězec.Pokud format nebo argument jsou NULL, nebo pokud řetězec formátu obsahuje neplatné formátovací znaky, tyto funkce vyvolají obslužnou rutinu neplatného parametru, jak je popsáno v Ověření parametru.Pokud provádění může pokračovat, vrátí funkce hodnotu -1 a nastaví errno na EINVAL.

Rutinní mapování obecného textu

Rutina Tchar.h

_UNICODE a _MBCS nejsou definovány

_MBCS definováno

_UNICODE definováno

_tcprintf_p

_cprintf_p

_cprintf_p

_cwprintf_p

_tcprintf_p_l

_cprintf_p_l

_cprintf_p_l

_cwprintf_p_l

Požadavky

Rutina

Požadované záhlaví

_cprintf_p,_cprintf_p_l

<conio.h>

_cwprintf_p,_cwprintf_p_l

<conio.h>

Další informace o kompatibilitě naleznete v tématu Kompatibilita.

Příklad

// 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 );
}
  

Viz také

Referenční dokumentace

I/O konzoly a portu

_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 – poziční parametry

printf_p – poziční parametry

Syntaxe specifikace formátu: funkce printf a wprintf