Udostępnij za pośrednictwem


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.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

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

System::Console::Write

Zobacz też

Informacje

We/Wy strumienia

vprintf — Funkcje

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

va_arg, va_copy, va_end, va_start