_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l
Zápis formátovaný výstup do konzoly pomocí ukazatel na seznam argumentů.Jedná se o verze _vcprintf, _vcprintf_l, _vcwprintf, _vcwprintf_l s vylepšení zabezpečení, jak je popsáno v Funkce zabezpečení v CRT.
Důležité |
---|
Toto rozhraní API nelze použít v aplikacích, které jsou spuštěny v systému Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
int _vcprintf(
const char* format,
va_list argptr
);
int _vcprintf(
const char* format,
locale_t locale,
va_list argptr
);
int _vcwprintf_s(
const wchar_t* format,
va_list argptr
);
int _vcwprintf_s_l(
const wchar_t* format,
locale_t locale,
va_list argptr
);
Parametry
format
Specifikace formátu.argptr
Ukazatel na seznam argumentů.locale
Národní prostředí pro použití.
Další informace naleznete v tématu Specifikace formátu.
Vrácená hodnota
Počet znaků, které jsou zapsány nebo zápornou hodnotu, pokud dojde k chybě výstup.
Podobně jako nezabezpečenou verzí těchto funkcí, pokud format je ukazatel s hodnotou null, je vyvolána obslužná rutina neplatný parametr, jak je popsáno v Ověření parametrů.Navíc na rozdíl od nezabezpečenou verzí těchto funkcí Pokud format neurčuje platný formát, je generována výjimka neplatného parametru.Pokud je povoleno zpracování, chcete-li pokračovat, tyto funkce vracejí
Poznámky
Každá z těchto funkcí bere ukazatel na seznam argumentů, pak formáty a poskytnutá data do konzoly._vcwprintf_sje verzí širokého znaku _vcprintf_s.Jako argument trvá řetězce širokého znaku.
Verze těchto funkcí se _l přípony jsou shodné s tím rozdílem, že používají parametr locale předaný namísto aktuální národní prostředí.
Poznámka k zabezpečení |
---|
Zajistit, aby format není uživatelem definovaný řetězec.Další informace naleznete v tématu Zamezení způsobí přetečení vyrovnávací paměti. |
Mapování rutiny obecného textu
TCHAR.Byla zahájena rutina h |
_UNICODE & _MBCS není definováno |
_MBCS, definice |
_UNICODE definována |
---|---|---|---|
_vtcprintf_s |
_vcprintf_s |
_vcprintf_s |
_vcwprintf_s |
_vtcprintf_s_l |
_vcprintf_s_l |
_vcprintf_s_l |
_vcwprintf_s_l |
Požadavky
Byla zahájena rutina |
Požadované záhlaví |
Volitelné záhlaví |
---|---|---|
_vcprintf_s, _vcprintf_s_l |
<conio.h> a <stdarg.h> |
<varargs.h> * |
_vcwprintf_s, _vcwprintf_s_l |
<conio.h> nebo <wchar.h> a <stdarg.h> |
<varargs.h> * |
* Vyžadována z důvodu kompatibility V systému UNIX.
Další informace o kompatibilitě, viz Compatibility v úvodu.
Příklad
// crt_vcprintf_s.cpp
#include <conio.h>
#include <stdarg.h>
// An error formatting function used to print to the console.
int eprintf_s(const char* format, ...)
{
va_list args;
va_start(args, format);
return _vcprintf_s(format, args);
}
int main()
{
eprintf_s(" (%d:%d): Error %s%d : %s\n", 10, 23, "C", 2111,
"<some error text>");
eprintf_s(" (Related to symbol '%s' defined on line %d).\n",
"<symbol>", 5 );
}
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l