_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 parametry pozycyjne w ciągu formatu.
![]() |
---|
Ten interfejs API nie może być stosowany w aplikacjach, które są wykonywane w Środowisko wykonawcze systemu Windows .Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsł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 do użycia.
Aby uzyskać więcej informacji, zobacz Składnia specyfikacji formatu: funkcje printf i wprintf.
Wartość zwracana
Liczba znaków, które są napisane lub wartość ujemną, jeśli wystąpi błąd wyjścia.Jeśli format jest pustym wskaźnikiem, zostanie wywołana procedura obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, errno jest ustawione jako EINVAL, a -1 jest zwracane.
Uwagi
Każda z tych funkcji ma wskaźnik do listy argumentów, a następnie używa _putch funkcji formatowania i zapisać dostarczone dane do konsoli. (_vcwprintf_p uses _putwch instead of _putch._vcwprintf_p to wersja znaków dwubajtowych _vcprintf_p.Zajmuje to ciąg znaków wide jako argument.)
Wersje tych funkcji, które mają przyrostek _l są identyczne, z tą różnicą, że korzystają z przekazanego parametru ustawień regionalnych, zamiast bieżących ustawień regionalnych.
Każdy argument (jeśli istnieje) są konwertowane, a dane wyjściowe według specyfikacji formatu w format.Specyfikacja formatu obsługuje parametrów pozycyjne, dzięki czemu można określić kolejność, w której 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 wynikiem.
![]() |
---|
Zapewnienia, że format nie jest ciągiem zdefiniowanym przez użytkownika.Aby uzyskać więcej informacji, zobacz unikanie przekroczenia buforu. |
Te funkcje sprawdzania poprawności wskaźnika 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ługę nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, te funkcje zwracają wartość -1 i ustawiają errno na EINVAL.
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_vtcprintf_p |
_vcprintf_p |
_vcprintf_p |
_vcwprintf_p |
_vtcprintf_p_l |
_vcprintf_p_l |
_vcprintf_p_l |
_vcwprintf_p_l |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_vcprintf_p, _vcprintf_p_l |
<conio.h> i <stdarg.h> |
_vcwprintf_p, _vcwprintf_p_l |
<conio.h> i <stdarg.h> |
Aby uzyskać więcej informacji na temat 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");
}
Zobacz też
Informacje
Operacje We/Wy konsoli i portu
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l