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. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.
См. также
Ссылки
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l