_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l
Записывают форматированные выходные данные с помощью указателя на список аргументов с возможностью указания порядка, в котором используются аргументы в строке формата.
int _vfprintf_p(
FILE *stream,
const char *format,
va_list argptr
);
int _vfprintf_p_l(
FILE *stream,
const char *format,
locale_t locale,
va_list argptr
);
int _vfwprintf_p(
FILE *stream,
const wchar_t *format,
va_list argptr
);
int _vfwprintf_p_l(
FILE *stream,
const wchar_t *format,
locale_t locale,
va_list argptr
);
Параметры
stream
Указатель на структуру FILE.format
Спецификация формата.argptr
Указатель на список аргументов.locale
Используемый языковой стандарт.
Дополнительные сведения см. в разделе Спецификации формата.
Возвращаемое значение
_vfprintf_p и _vfwprintf_p возвращают число записанных символов, не включая конечный нуль-символ, или отрицательное значение, если произошла ошибка вывода.
Заметки
Каждая из этих функций принимает в список аргументов указатель, затем форматирует и записывает указанные данные в stream. Эти функции отличаются от _vfprint_s и _vfwprint_s только тем, что они поддерживают позиционные параметры. Для получения дополнительной информации см. Позиционные параметры printf_p.
_vfwprintf_p является версией _vprintf_p для расширенных символов; две функции ведут себя одинаково, если поток открывается в режиме ANSI. _vprintf_p в настоящее время не поддерживает вывод в поток в юникоде.
Версии этих функций с суффиксом _l идентичны за исключением того, что они используют переданный параметр языкового стандарта вместо языкового стандарта текущего потока.
![]() |
---|
Убедитесь, что format не является строкой, определяемой пользователем.Дополнительные сведения см. в разделе Как избежать переполнения буфера. |
Если stream или format — указатель на null, или если строка формата содержит недопустимые символы форматирования, то вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, то функции возвращают -1 и устанавливают errno в EINVAL.
Универсальное текстовое сопоставление функций
Подпрограмма TCHAR.H |
_UNICODE & _MBCS не определены |
_MBCS определено |
_UNICODE определено |
---|---|---|---|
_vftprintf_p |
_vfprintf_p |
_vfprintf_p |
_vfwprintf_p |
_vftprintf_p_l |
_vfprintf_p_l |
_vfprintf_p_l |
_vfwprintf_p_l |
Требования
Подпрограмма |
Обязательный заголовок |
Необязательные заголовки |
---|---|---|
_vfprintf_p, _vfprintf_p_l |
<stdio.h> и <stdarg.h> |
<varargs.h>* |
_vfwprintf_p, _vfwprintf_p_l |
<stdio.h> или <wchar.h> и <stdarg.h> |
<varargs.h>* |
* Требуется для обеспечения совместимости с UNIX V.
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Эквивалент в .NET Framework
Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.
См. также
Ссылки
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
va_arg, va_copy, va_end, va_start
Позиционные параметры printf_p
_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l