vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l
Napisz sformatowane dane wyjściowe za pomocą wskaźnika do listy argumentów.Są to wersje vprintf, _vprintf_l, vwprintf, _vwprintf_l z ulepszeń zabezpieczeń, zgodnie z opisem w Funkcje zabezpieczeń w CRT.
int vprintf_s(
const char *format,
va_list argptr
);
int _vprintf_s_l(
const char *format,
locale_t locale,
va_list argptr
);
int vwprintf_s(
const wchar_t *format,
va_list argptr
);
int _vwprintf_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
vprintf_si vwprintf_s zwraca liczbę znaków napisane, nie wliczając kończącego znaku null lub wartości ujemnej, jeśli wystąpi błąd danych wyjściowych.Jeśli format jest pusty wskaźnik, lub jeżeli ciąg formatu zawiera nieprawidłowe znaki formatowania, program obsługi nieprawidłowy parametr jest uruchamiane, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcje zwracają wartość -1 i ustawić errno do EINVAL.
Aby uzyskać informacje o tych i innych kodów błędów, zobacz _doserrno, errno, _sys_errlist i _sys_nerr.
Uwagi
Każda z tych funkcji ma wskaźnik do listy argumentów, a następnie formatuje i zapisuje dane podawane do stdout.
Bezpieczne wersjach tych funkcji różnią się od vprintf i vwprintf tylko tym, że bezpieczne wersje Sprawdź, czy ciąg formatu zawiera prawidłowe znaki formatowania.
vwprintf_sjest to wersja szerokich znaków vprintf_s; dwie funkcje zachowują się identycznie, jeśli strumień jest otwarty w trybie ANSI.vprintf_saktualnie nie obsługuje dane wyjściowe do strumienia UNICODE.
Wersje te funkcje za pomocą _l sufiks są identyczne z tym, że używają przekazany zamiast bieżących ustawień regionalnych wątek parametr 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 |
---|---|---|---|
_vtprintf_s |
vprintf_s |
vprintf_s |
vwprintf_s |
_vtprintf_s_l |
_vprintf_s_l |
_vprintf_s_l |
_vwprintf_s_l |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
Nagłówki opcjonalne |
---|---|---|
vprintf_s, _vprintf_s_l |
<stdio.h> i <stdarg.h> |
<varargs.h> * |
vwprintf_s, _vwprintf_s_l |
<stdio.h> lub <wchar.h> i <stdarg.h> |
<varargs.h> * |
* Wymagana w przypadku zgodności V systemu UNIX.
Konsola nie jest obsługiwana w Windows Store aplikacji.Związanych z konsolą, dojścia do strumienia standard stdin, stdout, i stderr, muszą być przeniesione, aby funkcje uruchomieniowej C mogą być użyte w Windows Store aplikacji.Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l