Udostępnij za pośrednictwem


Funkcje vprintf

Każdy z vprintf funkcje zajmuje wskaźnik do listy argumentów, a następnie formaty i zapisuje dostarczone dane do określonego miejsca przeznaczenia.Funkcje różnią się sprawdzanie poprawności parametr wykonywana, czy funkcje podjęcia szerokiego lub ciągów znaków jednobajtowych, urządzenie docelowe wyjścia i obsługa określający kolejność, w której używane są parametry w ciągu formatu.

_vcprintf, _vcwprintf

inne problemy, vfwprintf

_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l

vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

vprintf, vwprintf

_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l

vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l

vsprintf, vswprintf

_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l

vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l

_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l

_vsnprintf, _vsnwprintf

Uwagi

vprintf Funkcje są podobne do funkcji ich odpowiedników, jak wymieniono w poniższej tabeli.Jednakże każda vprintf funkcja akceptuje wskaźnik do listy argumentów, należy w każdej z funkcji odpowiednika akceptuje listy argumentów.

Te funkcje formatowania danych dla danych wyjściowych do miejsc docelowych w następujący sposób.

Funkcja

Funkcja odpowiednika

Urządzenie docelowe wyjścia

Sprawdzanie poprawności parametru

Obsługa parametru pozycyjne

_vcprintf

_cprintf

konsoli

Sprawdź, czy wartość null.

nie

_vcwprintf

_cwprintf

konsoli

Sprawdź, czy wartość null.

nie

vfprintf

fprintf

Strumień

Sprawdź, czy wartość null.

nie

vfprintf_p

fprintf_p

Strumień

Sprawdź, czy wartości null i prawidłowy format.

tak

vfprintf_s

fprintf_s

Strumień

Sprawdź, czy wartości null i prawidłowy format.

nie

vfwprintf

fwprintf

Strumień

Sprawdź, czy wartość null.

nie

vfwprintf_p

fwprintf_p

Strumień

Sprawdź, czy wartości null i prawidłowy format.

tak

vfwprintf_s

fwprintf_s

Strumień

Sprawdź, czy wartości null i prawidłowy format.

nie

vprintf

printf

Stdout

Sprawdź, czy wartość null.

nie

vprintf_p

printf_p

Stdout

Sprawdź, czy wartości null i prawidłowy format.

tak

vprintf_s

printf_s

Stdout

Sprawdź, czy wartości null i prawidłowy format.

nie

vwprintf

wprintf

Stdout

Sprawdź, czy wartość null.

nie

vwprintf_p

wprintf_p

Stdout

Sprawdź, czy wartości null i prawidłowy format.

tak

vwprintf_s

wprintf_s

Stdout

Sprawdź, czy wartości null i prawidłowy format.

nie

vsprintf

sprintf

pamięci wskazywanej przez buforu

Sprawdź, czy wartość null.

nie

vsprintf_p

sprintf_p

pamięci wskazywanej przez buforu

Sprawdź, czy wartości null i prawidłowy format.

tak

vsprintf_s

sprintf_s

pamięci wskazywanej przez buforu

Sprawdź, czy wartości null i prawidłowy format.

nie

vswprintf

swprintf

pamięci wskazywanej przez buforu

Sprawdź, czy wartość null.

nie

vswprintf_p

swprintf_p

pamięci wskazywanej przez buforu

Sprawdź, czy wartości null i prawidłowy format.

tak

vswprintf_s

swprintf_s

pamięci wskazywanej przez buforu

Sprawdź, czy wartości null i prawidłowy format.

nie

_vscprintf

_vscprintf

pamięci wskazywanej przez buforu

Sprawdź, czy wartość null.

nie

_vscwprintf

_vscwprintf

pamięci wskazywanej przez buforu

Sprawdź, czy wartość null.

nie

_vsnprintf

_snprintf

pamięci wskazywanej przez buforu

Sprawdź, czy wartość null.

nie

_vsnwprintf

_snwprintf

pamięci wskazywanej przez buforu

Sprawdź, czy wartość null.

nie

argptr Argument Typ jest va_list, który jest zdefiniowany w typu VARARGS.H i STDARG.H.argptr Zmienna musi zostać zainicjowany przez va_start, i może być ustawienie ponownie inicjowane przez kolejne va_arg wywołuje; argptrnastępnie punkty na początku listy argumentów, które są konwertowane i przekazywane do wyjścia zgodnie ze specyfikacjami odpowiedniego w format argument.Format ma ten sam formularz i działać jako format argument dla printf.Żaden z tych funkcji wywołuje va_end.Dokładniejszy opis każdego vprintf działać, zobacz opis funkcji jego odpowiednikiem, wymienione w powyższej tabeli.

_vsnprintfróżni się od vsprintf w tym zapisuje nr więcej niż liczba bajtów przeznaczonych do buforu.

Wersje te funkcje, z w infiks w nazwie są wersje szerokich znaków odpowiadających funkcjach, bez w wrostek; w każdym z tych funkcji szerokich znaków buforu i format są ciągami szerokich znaków.W przeciwnym wypadku każdej funkcji szerokich znaków działa identycznie jego funkcji odpowiednika SBCS.

Wersje te funkcje, z _s i _p sufiksy są bardziej bezpiecznych wersji.Te wersje poprawności ciągi formatów i wygeneruje wyjątek, jeśli ciąg formatu, który nie został dobrze uformowany (na przykład, jeśli używane są nieprawidłowe znaki formatowania).

Wersje te funkcje, z _p sufiks zapewniają możliwość określenia kolejności, w którym mają być zastępowane podanych argumentów w ciągu formatu.Aby uzyskać więcej informacji, zobacz printf_p parametry pozycyjne.

Dla vsprintf, vswprintf, _vsnprintf i _vsnwprintf, jeśli kopiowanie występuje między ciągami, że nakładające się, zachowanie jest niezdefiniowane.

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

Zapewnić, że format nie jest ciągiem zdefiniowane przez użytkownika.Aby uzyskać więcej informacji, zobacz Overruns buforu unikanie.Jeśli przy użyciu bezpiecznych wersji tych funkcji (albo _s lub _p sufiksy), ciąg formatu dostarczone przez użytkownika może wywołać wyjątek nieprawidłowy parametr, jeśli ciąg dostarczone przez użytkownika zawiera nieprawidłowe znaki formatowania.

Zobacz też

Informacje

Strumień we/wy

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

va_arg, va_end, va_start