_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l
Napisz sformatowane dane wyjściowe do konsoli za pomocą wskaźnika do listy argumentów.Są to wersje _vcprintf, _vcprintf_l, _vcwprintf, _vcwprintf_l z ulepszeń zabezpieczeń, zgodnie z opisem w Funkcje zabezpieczeń w CRT.
Ważne |
---|
Ten interfejs API nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /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
Specyfikacja formatu.argptr
Wskaźnik do listy argumentów.locale
Ustawienia regionalne używane.
Aby uzyskać więcej informacji, zobacz Specyfikacji formatu.
Wartość zwracana
Niektóre znaki pisane, lub wartość ujemną, jeśli wystąpi błąd danych wyjściowych.
Tak jak w wersji tych funkcji, które nie są bezpieczne, jeśli format jest pusty wskaźnik, program obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru.Dodatkowo, w przeciwieństwie do wersji nie są bezpieczne z tych funkcji Jeśli format nie określa prawidłowego formatu, generowany jest wyjątek nieprawidłowy parametr.Jeśli wykonanie może kontynuować, funkcje te zwracają
Uwagi
Każda z tych funkcji ma wskaźnik do listy argumentów, a następnie formatuje i zapisuje dane podawane do konsoli._vcwprintf_sjest to wersja szerokich znaków _vcprintf_s.Trwa łańcuch szerokich znaków jako argument.
Wersje te funkcje za pomocą _l sufiks są identyczne z tym, że używają parametru ustawień regionalnych, przekazany zamiast bieżących ustawień regionalnych.
Uwaga dotycząca zabezpieczeń |
---|
Zapewnienia, że format nie jest ciągiem zdefiniowane przez użytkownika.Aby uzyskać więcej informacji, zobacz Unikanie przekroczeniem buforu. |
Tekst rodzajowy rutynowych mapowania
TCHAR.Rozpoczęto wykonywanie procedury h |
_UNICODE & _MBCS nie zdefiniowany |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_vtcprintf_s |
_vcprintf_s |
_vcprintf_s |
_vcwprintf_s |
_vtcprintf_s_l |
_vcprintf_s_l |
_vcprintf_s_l |
_vcwprintf_s_l |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
Nagłówki opcjonalne |
---|---|---|
_vcprintf_s, _vcprintf_s_l |
<conio.h> i <stdarg.h> |
<varargs.h> * |
_vcwprintf_s, _vcwprintf_s_l |
<conio.h> lub <wchar.h> i <stdarg.h> |
<varargs.h> * |
* Wymagana w przypadku zgodności V systemu UNIX.
Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Przykład
// 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 );
}
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l