vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Форматированный вывод записью с помощью указатель на список аргументов.эти версии vfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l со службами расширений безопасности, как описано в разделе Средства безопасности в CRT.

int vfprintf_s(
   FILE *stream,
   const char *format,
   va_list argptr 
);
int _vfprintf_s_l(
   FILE *stream,
   const char *format,
   locale_t locale,
   va_list argptr 
);
int vfwprintf_s(
   FILE *stream,
   const wchar_t *format,
   va_list argptr 
);
int _vfwprintf_s_l(
   FILE *stream,
   const wchar_t *format,
   locale_t locale,
   va_list argptr 
);

Параметры

  • stream
    Указатель на FILE структура.

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

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

  • locale
    Языковой стандарт, который необходимо использовать.

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

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

vfprintf_s и vfwprintf_s возвращает число записанных символов, не включая конечное нуль-символ или отрицательное значение, если происходит ошибка вывода.Если такой stream OR format указатель null или если строка форматирования содержит недопустимые символы, то символы форматирования параметра недопустимый обработчик вызывается, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то функции возвращают -1 и задают errno В EINVAL.

Дополнительные сведения об этих и других кодах ошибок см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.

Заметки

Каждая из этих функций принимает указатель на список аргументов, форматы и записи заданного данных stream.

Эти функции отличаются от non-безопасных версий только в безопасных проверить, что версии format строка содержит допустимые символы форматирования.

vfwprintf_s версия расширенных символов vfprintf_s; 2 функции работают одинаково, если поток открыт в режиме ansi-совместимости.vfprintf_s в настоящее время не поддерживает выходные данные в поток в юникоде.

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

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

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

Сопоставления подпрограммы Родов-Текста

Подпрограмма TCHAR.H

_MBCS не заданные _UNICODE &

Указанный символ _MBCS

Указанный _UNICODE

_vftprintf_s

vfprintf_s

vfprintf_s

vfwprintf_s

_vftprintf_s_l

_vfprintf_s_l

_vfprintf_s_l

_vfwprintf_s_l

Требования

Процедура

Обязательный заголовок

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

vfprintf_s, _vfprintf_s_l

<stdio.h> и <stdarg.h>

<varargs.h>*

vfwprintf_s, _vfwprintf_s_l

<stdio.h> OR <wchar.h>и <stdarg.h>

<varargs.h>*

* Требуется для совместимости UNIX v.

Дополнительные сведения о совместимости см. Совместимость во введении.

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

Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

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

функции vprintf

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

va_arg, va_end, va_start