vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l
Pisze sformatowane dane wyjściowe za pomocą wskaźnika do listy argumentów.Te wersje vprintf, _vprintf_l, vwprintf, _vwprintf_l mają wzmocnienia zabezpieczeń, jak opisano 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
Format specyfikacji.argptr
Wskaźnik na listę argumentów.locale
Ustawienia regionalne do użycia.
Aby uzyskać więcej informacji na temat ciągów formatujących, zobacz Specyfikacje formatu.
Wartość zwracana
vprintf_s i vwprintf_s zwraca liczbę znaków napisanych, 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 wskaźnikiem typu null lub ciąg formatu zawiera nieprawidłowe znaki formatowania, zostanie wywołana procedura obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, te funkcje zwracają -1 i ustawiają errno jako EINVAL.
Aby uzyskać informacje na temat tych i innych kodów błędu, zobacz _doserrno, errno, _sys_errlist, and _sys_nerr.
Uwagi
Każda z tych funkcji pobiera wskaźnik do listy argumentów, a następnie formatuje i zapisuje dostarczone dane do stdout.
Bezpieczne wersje tych funkcji różnią się od vprintf i vwprintf tylko w tym, że bezpieczne wersje sprawdzają, czy ciąg formatu zawiera prawidłowe znaki formatowania.
vwprintf_s jest wersją znaków dwubajtowych vprintf_s; dwie funkcje zachowują się identycznie, jeśli strumień jest otwarty w trybie ANSI.vprintf_s aktualnie nie obsługuje danych wyjściowych w strumieniu UNICODE.
Wersje tych funkcji z przyrostkiem _l są identyczne z wyjątkiem stosowania regionalnych parametrów zamiast bieżącego ciągu.
![]() |
---|
Zapewnienia, że format nie jest ciągiem zdefiniowanym przez użytkownika.Aby uzyskać więcej informacji, zobacz unikanie przekroczenia buforu. |
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE & _MBCS nie zdefiniowano |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_vtprintf_s |
vprintf_s |
vprintf_s |
vwprintf_s |
_vtprintf_s_l |
_vprintf_s_l |
_vprintf_s_l |
_vwprintf_s_l |
Wymagania
Procedura |
Wymagany nagłówek |
Opcjonalne nagłówki |
---|---|---|
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>* |
* Wymagane dla zgodności systemu UNIX V.
Konsola nie jest obsługiwana w aplikacjach Windows Store.Standardowe uchwyty strumienia powiązane z konsolą—stdin, stdout, i stderr—muszą zostać przekierowane zanim będą wykorzystane przez funkcje środowiska uruchomieniowego C w aplikacjach Windows Store.Dodatkowe informacje o zgodności – zobacz: Zgodność.
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l