_cprintf
, _cprintf_l
, , _cwprintf
_cwprintf_l
Formátuje a tiskne do konzoly. K dispozici jsou bezpečnější verze; viz _cprintf_s
, _cprintf_s_l
, _cwprintf_s
, _cwprintf_s_l
.
Důležité
Toto rozhraní API nelze použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.
Syntaxe
int _cprintf(
const char * format [, argument_list]
);
int _cprintf_l(
const char * format,
_locale_t locale [, argument_list]
);
int _cwprintf(
const wchar * format [, argument_list]
);
int _cwprintf_l(
const wchar * format,
_locale_t locale [, argument_list]
);
Parametry
format
Řetězec řízení formátu
argument_list
Volitelné parametry pro formátovací řetězec
locale
Národní prostředí, které se má použít
Vrácená hodnota
Počet tištěných znaků.
Poznámky
Tyto funkce formátují a tisknou řadu znaků a hodnot přímo do konzoly pomocí _putch
funkce (_putwch
for _cwprintf
) pro výstupní znaky. Každý argument v argument_list
(pokud existuje) je převeden a výstup podle odpovídající specifikace formátu v format
. Argument format
používá syntaxi specifikace formátu pro funkce printf a wprintf. fprintf
Na rozdíl od znaků , printf
a sprintf
funkcí _cprintf
a _cwprintf
nepřekládat znaky odřádkování do kombinace návratového řádku řádku (CR-LF) při výstupu.
Důležitým rozdílem je, že _cwprintf
se při použití ve Windows zobrazují znaky Unicode. Na rozdíl od _cprintf
aktuálního _cwprintf
nastavení národního prostředí konzoly.
Verze těchto funkcí s příponou _l
jsou shodné s tím rozdílem, že místo aktuálního národního prostředí používají předaný parametr národního prostředí.
_cprintf
format
ověří parametr. Pokud format
je ukazatel null, funkce vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, vrátí funkce hodnotu -1 a nastaví errno
hodnotu EINVAL
.
Důležité
Ujistěte se, že format
není uživatelem definovaný řetězec.
Počínaje Windows 10 verze 2004 (build 19041) printf
vytiskne řada funkcí přesně reprezentovatelná čísla s plovoucí desetinnou čárkou podle pravidel IEEE 754 pro zaokrouhlování. V předchozích verzích Windows by se vždy zaokrouhlila přesně reprezentovatelná čísla s plovoucí desetinnou čárkou končící na 5. IEEE 754 uvádí, že musí zaokrouhlit na nejbližší sudou číslici (označované také jako "Zaokrouhlování bankera"). Například obě printf("%1.0f", 1.5)
a printf("%1.0f", 2.5)
měly by se zaokrouhlit na 2. Dříve by se 1,5 zaokrouhlo na 2 a 2,5 by se zaokrouhlilo na 3. Tato změna má vliv jenom na přesně reprezentovatelná čísla. Například hodnota 2,35 (která je při znázornění v paměti blíže 2,350000000000008) pokračuje zaokrouhlit nahoru na 2,4. Zaokrouhlování provedené těmito funkcemi nyní respektuje také režim zaokrouhlování s plovoucí desetinou čárkou nastavený .fesetround
Dříve bylo zaokrouhlení vždy zvoleno FE_TONEAREST
chování. Tato změna má vliv jenom na programy vytvořené pomocí sady Visual Studio 2019 verze 16.2 a novější. Chcete-li použít starší chování zaokrouhlování s plovoucí desetinou čárkou, propojte s legacy_stdio_float_rounding.obj
.
Mapování rutin obecného textu
Rutina Tchar.h | _UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_tcprintf |
_cprintf |
_cprintf |
_cwprintf |
_tcprintf_l |
_cprintf_l |
_cprintf_l |
_cwprintf_l |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_cprintf , _cprintf_l |
<conio.h> |
_cwprintf , _cwprintf_l |
<conio.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// crt_cprintf.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( "%d %.4x %u %c %s\r\n", i, h, u, c, s );
}
-16 001d 62511 A Test
Viz také
Vstupně-výstupní operace konzoly a portu
_cscanf
, _cscanf_l
, , _cwscanf
_cwscanf_l
fprintf
, _fprintf_l
, , fwprintf
_fwprintf_l
printf
, _printf_l
, , wprintf
_wprintf_l
sprintf
, _sprintf_l
, swprintf
, , _swprintf_l
__swprintf_l
vfprintf
, _vfprintf_l
, , vfwprintf
_vfwprintf_l
_cprintf_s
, _cprintf_s_l
, , _cwprintf_s
_cwprintf_s_l
_cprintf_p
, _cprintf_p_l
, , _cwprintf_p
_cwprintf_p_l
Syntaxe specifikace formátu: printf
a wprintf
funkce