_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l
Zapíše formátovaný výstup na konzoli pomocí ukazatele na seznam argumentů.Tyto verze _vcprintf, _vcprintf_l, _vcwprintf, _vcwprintf_l mají rozšíření zabezpečení popsaná v tématu Funkce zabezpečení v CRT.
![]() |
---|
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 _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
Použité národní prostředí.
Další informace naleznete v tématu Syntaxe specifikace formátu: funkce printf a wprintf.
Vrácená hodnota
Počet napsaných znaků nebo v případě chyby výstupu záporná hodnota.
Podobně jako méně bezpečné verze těchto funkcí, pokud je format ukazatel s hodnotou null, je vyvolána obslužná rutina neplatného parametru, jak je popsáno v tématu Ověření parametru.Navíc na rozdíl od méně zabezpečených verzí těchto funkcí, pokud format neurčuje platný formát, je generována výjimka neplatného parametru.Pokud provádění může pokračovat, tyto funkce vrátí chybový kód a nastaví errno na tento chybový kód.Výchozí chybový kód je EINVAL, pokud nelze použít konkrétní hodnotu.
Poznámky
Každá z těchto funkcí bere ukazatel na seznam argumentů a potom formátuje a a zapisuje poskytnutá data do konzoly._vcwprintf_s je širokoznaká verze _vcprintf_s.Bere jako argument řetězec širokých znaků.
Verze těchto funkcí, které mají příponu _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í prostředí.
![]() |
---|
Zajistěte, aby format nebyl uživatelem definovaný řetězec.Další informace naleznete v tématu Předcházení přetečení vyrovnávací paměti. |
Rutinní mapování obecného textu
Rutina TCHAR.H |
_UNICODE & _MBCS není definováno |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_vtcprintf_s |
_vcprintf_s |
_vcprintf_s |
_vcwprintf_s |
_vtcprintf_s_l |
_vcprintf_s_l |
_vcprintf_s_l |
_vcwprintf_s_l |
Požadavky
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>* |
* Potřebné k zajištění kompatibility systému UNIX V.
Další informace o kompatibilitě naleznete v tématu Kompatibilita.
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