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.
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 |
konsoli |
Sprawdź, czy wartość null. |
nie |
|
_vcwprintf |
konsoli |
Sprawdź, czy wartość null. |
nie |
|
vfprintf |
Strumień |
Sprawdź, czy wartość null. |
nie |
|
vfprintf_p |
Strumień |
Sprawdź, czy wartości null i prawidłowy format. |
tak |
|
vfprintf_s |
Strumień |
Sprawdź, czy wartości null i prawidłowy format. |
nie |
|
vfwprintf |
Strumień |
Sprawdź, czy wartość null. |
nie |
|
vfwprintf_p |
Strumień |
Sprawdź, czy wartości null i prawidłowy format. |
tak |
|
vfwprintf_s |
Strumień |
Sprawdź, czy wartości null i prawidłowy format. |
nie |
|
vprintf |
Stdout |
Sprawdź, czy wartość null. |
nie |
|
vprintf_p |
Stdout |
Sprawdź, czy wartości null i prawidłowy format. |
tak |
|
vprintf_s |
Stdout |
Sprawdź, czy wartości null i prawidłowy format. |
nie |
|
vwprintf |
Stdout |
Sprawdź, czy wartość null. |
nie |
|
vwprintf_p |
Stdout |
Sprawdź, czy wartości null i prawidłowy format. |
tak |
|
vwprintf_s |
Stdout |
Sprawdź, czy wartości null i prawidłowy format. |
nie |
|
vsprintf |
pamięci wskazywanej przez buforu |
Sprawdź, czy wartość null. |
nie |
|
vsprintf_p |
pamięci wskazywanej przez buforu |
Sprawdź, czy wartości null i prawidłowy format. |
tak |
|
vsprintf_s |
pamięci wskazywanej przez buforu |
Sprawdź, czy wartości null i prawidłowy format. |
nie |
|
vswprintf |
pamięci wskazywanej przez buforu |
Sprawdź, czy wartość null. |
nie |
|
vswprintf_p |
pamięci wskazywanej przez buforu |
Sprawdź, czy wartości null i prawidłowy format. |
tak |
|
vswprintf_s |
pamięci wskazywanej przez buforu |
Sprawdź, czy wartości null i prawidłowy format. |
nie |
|
_vscprintf |
pamięci wskazywanej przez buforu |
Sprawdź, czy wartość null. |
nie |
|
_vscwprintf |
pamięci wskazywanej przez buforu |
Sprawdź, czy wartość null. |
nie |
|
_vsnprintf |
pamięci wskazywanej przez buforu |
Sprawdź, czy wartość null. |
nie |
|
_vsnwprintf |
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ń |
---|
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
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l