_vcprintf_p, _vcprintf_p_l, _vcwprintf_p, _vcwprintf_p_l
Zapisuje sformatowane dane wyjściowe do konsoli za pomocą wskaźnika do listy argumentów i obsługuje parametrów pozycyjne w ciągu formatu.
![]() |
---|
Ten interfejs API nie można używać w aplikacji, których wykonywanie w Środowisko wykonawcze systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW. |
int _vcprintf_p(
const char* format,
va_list argptr
);
int _vcprintf_p_l(
const char* format,
locale_t locale,
va_list argptr
);
int _vcwprintf_p(
const wchar_t* format,
va_list argptr
);
int _vcwprintf_p_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 Składnia specyfikacji formatu: funkcje printf i wprintf.
Wartość zwracana
Liczba znaków, które zostały napisane, lub wartość ujemną, jeśli wystąpi błąd danych wyjściowych.Jeśli format jest pusty wskaźnik, program obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, errno jest ustawiona na EINVAL i zwracana jest wartość -1.
Uwagi
Każda z tych funkcji ma wskaźnik do listy argumentów, a następnie używa _putch funkcja do formatowania i zapisać dostarczone dane do konsoli.(_vcwprintf_p uses _putwch instead of _putch._vcwprintf_pjest to wersja szerokich znaków _vcprintf_p.Zajmuje to łańcuch szerokich znaków jako argument.)
Wersje te funkcje, które mają _l sufiks są identyczne z tym, że używają parametru ustawień regionalnych, który jest przekazywana zamiast bieżących ustawień regionalnych.
Każdy argument (jeśli istnieje) są konwertowane, a są kierowane według specyfikacji formatu w format.Specyfikacja formatu obsługuje parametrów pozycyjne, tak aby można określić kolejność, w którym argumenty są używane w ciągu formatu.Aby uzyskać więcej informacji, zobacz printf_p parametry pozycyjne.
Te funkcje nie tłumaczenia znaki wysuwu wiersza do przewozu kombinacje return-line feed (CR-LF), gdy są one dane wyjściowe.
![]() |
---|
Zapewnienia, że format nie jest ciągiem zdefiniowane przez użytkownika.Aby uzyskać więcej informacji, zobacz Unikanie przekroczeniem buforu. |
Te funkcje sprawdzania poprawności, wskaźnik wejściowych i ciąg formatu.Jeśli format lub argument jest NULL, lub jeśli ciąg formatu zawiera nieprawidłowe znaki formatowania, tych funkcji WYWOŁAJ obsługi przez nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcje zwracają wartość -1 i ustawić errno do EINVAL.
Tekst rodzajowy rutynowych mapowania
Rozpoczęto wykonywanie procedury TCHAR.h |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_vtcprintf_p |
_vcprintf_p |
_vcprintf_p |
_vcwprintf_p |
_vtcprintf_p_l |
_vcprintf_p_l |
_vcprintf_p_l |
_vcwprintf_p_l |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_vcprintf_p, _vcprintf_p_l |
<conio.h> i <stdarg.h> |
_vcwprintf_p, _vcwprintf_p_l |
<conio.h> i <stdarg.h> |
Informacji dotyczących zgodności, zobacz Zgodność.
Przykład
// crt_vcprintf_p.c
// compile with: /c
#include <conio.h>
#include <stdarg.h>
// An error formatting function that's used to print to the console.
int eprintf(const char* format, ...)
{
va_list args;
va_start(args, format);
return _vcprintf_p(format, args);
}
int main()
{
int n = eprintf("parameter 2 = %2$d; parameter 1 = %1$s\r\n",
"one", 222);
_cprintf_s("%d characters printed\r\n");
}