_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l

Записывают форматированные выходные данные с помощью указателя на список аргументов с возможностью указания порядка, в котором используются аргументы.

int _vprintf_p(
   const char *format,
   va_list argptr 
);
int _vprintf_p_l(
   const char *format,
   locale_t locale,
   va_list argptr 
);
int _vwprintf_p(
   const wchar_t *format,
   va_list argptr 
);
int _vwprintf_p_l(
   const wchar_t *format,
   locale_t locale,
   va_list argptr 
);

Параметры

  • format
    Спецификация формата.

  • argptr
    Указатель на список аргументов.

  • locale
    Используемый языковой стандарт.

Дополнительные сведения см. в разделе Спецификации формата.

Возвращаемое значение

_vprintf_p и _vwprintf_p возвращают число записанных символов, не включая конечный нуль-символ, или отрицательное значение, если произошла ошибка вывода.

Заметки

Каждая из этих функций принимает указатель в список аргументов, то форматам и записывает заданный данных в stdout.Эти функции зависят от vprintf_s и vwprintf_s только в том, что они поддерживают возможность задать порядок, в котором используются аргументы.Для получения дополнительной информации см. позиционных параметров printf_p.

версия _vwprintf_p является _vprintf_p; 2 функции ведут себя одинаково, если поток открывается в режиме ANSI._vprintf_p в настоящее время не поддерживает вывод в поток в юникоде.

Версии этих функций с суффиксом _l идентичны, за исключением того, что они используют переданный параметр языкового стандарта вместо текущего языкового стандарта потока.

Примечание о безопасностиПримечание по безопасности

Убедитесь, что format не является строкой, определяемой пользователем.Дополнительные сведения см. в разделе Как избежать переполнения буфера.

Если указатель format, или если строка формата содержит недопустимые символы форматирования, обработчик вызывается недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то функции возвращают -1 и устанавливают errno в EINVAL.

Универсальное текстовое сопоставление функций

Функция TCHAR.H

неопределенные _UNICODE & _MBCS

определенные _MBCS

Определение _UNICODE

_vtprintf_p

_vprintf_p

_vprintf_p

_vwprintf_p

_vtprintf_p_l

_vprintf_p_l

_vprintf_p_l

_vwprintf_p_l

Требования

Функция

Требуемый заголовок

Необязательные заголовки

_vprintf_p, _vprintf_p_l

<stdio.h> и <stdarg.h>

<varargs.h>*

_vwprintf_p, _vwprintf_p_l

<stdio.h> или <wchar.h>, и <stdarg.h>

<varargs.h>*

* Требуется для обеспечения совместимости с UNIX V.

Консоль не поддерживается в приложениях Магазина Windows.Стандартные дескрипторы потока, связанные с консолью, stdin, stdout и stderr, необходимо перенаправить до функции C времени выполнения могут использовать их в приложениях Магазина Windows.Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Эквивалент в .NET Framework

System::Console::Write

См. также

Ссылки

Поток ВВОДА-ВЫВОДА

функции vprintf

_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l

_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l

vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l

va_arg, va_end, va_start

_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l

_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

позиционных параметров printf_p