Sdílet prostřednictvím


_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l

Formátuje a tiskne na konzolu.Tyto verze _cprintf, _cprintf_l, _cwprintf, _cwprintf_l mají rozšíření zabezpečení popsaná v tématu Funkce zabezpečení v CRT.

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_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] ...
);

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ů.

Poznámky

Tyto funkce naformátují a vytisknou řadu znaků a hodnot přímo na konzoli pomocí funkce _putch (_putwch pro _cwprintf_s) 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_s.Na rozdíl od funkcí fprintf_s, printf_s a sprintf_s převede _cprintf_s ani _cwprintf_s znaky přechodu na nový řádek na kombinaci návrat na začátek řádku–nový řádek při výstupu.

Je důležité rozlišovat, že _cwprintf_s zobrazí znaky Unicode při použití v systému Windows NT.Na rozdíl od _cprintf_s_cwprintf_s používá aktuální národní 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.

Podobně jako nebezpečné verze (viz _cprintf, _cprintf_l, _cwprintf, _cwprintf_l) tyto funkce ověřují své parametry a vyvolávají obslužnou rutinu neplatného parametru, jak je popsáno v tématu Ověření parametru, pokud je format ukazatel s hodnotou null.Tyto funkce se liší od nebezpečných verzí tím, že samotný formátovací řetězec je také ověřován.Pokud neexistují žádné neznámé nebo chybně zformulované formátovací specifikátory, tyto funkce vyvolají obslužnou rutinu neplatného parametru.Ve všech případech, pokud provádění může pokračovat, funkce vrátí 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_s

_cprintf_s

_cprintf_s

_cwprintf_s

_tcprintf_s_l

_cprintf_s_l

_cprintf_s_l

_cwprintf_s_l

Požadavky

Rutina

Požadované záhlaví

_cprintf_s,_cprintf_s_l

<conio.h>

_cwprintf_s, _cwprintf_s_l

<conio.h>

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

Knihovny

Všechny verze běhových knihoven C.

Příklad

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

Výsledek

-16  001d  62511  A Test

Viz také

Referenční dokumentace

I/O konzoly a portu

_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

Syntaxe specifikace formátu: funkce printf a wprintf