_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l
Write форматировало результат на консоль с помощью указателя в список аргументов.Здесь представлены версии _vcprintf, _vcprintf_l, _vcwprintf, _vcwprintf_l с усовершенствованной безопасностью, как описано в разделе Средства безопасности в CRT.
Важно |
---|
Этот API нельзя использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW. |
int _vcprintf(
const char* format,
va_list argptr
);
int _vcprintf(
const char* format,
locale_t locale,
va_list argptr
);
int _vcwprintf_s(
const wchar_t* format,
va_list argptr
);
int _vcwprintf_s_l(
const wchar_t* format,
locale_t locale,
va_list argptr
);
Параметры
format
Спецификация формата.argptr
Указатель на список аргументов.locale
Используемый языковой стандарт.
Дополнительные сведения см. в разделе Спецификации формата.
Возвращаемое значение
Записанное число символов или отрицательное значение, если возникает ошибка вывода.
Как и не безопасной версией этих функций, если указатель format, обработчик вызывается недопустимого параметра, как описано в разделе Проверка параметров.Кроме того, в отличие от не осуществлять версии этих функций, если format не задает допустимый формат, то создается исключение недопустимого параметра.Если среда выполнения может продолжить, эти функции возвращают
Заметки
Каждая из этих функций принимает указатель в список аргументов, то форматам и записывает заданный данные на консоль.версия _vcwprintf_s является _vcprintf_s.Она принимает характерную черту в качестве аргумента.
Версии этих функций с суффиксом _l идентичны за исключением того, что они используют параметры языкового стандарта, в вместо текущего языкового стандарта.
Примечание по безопасности |
---|
Убедитесь, что format не является строкой, определяемой пользователем.Дополнительные сведения см. в разделе Как избежать переполнения буфера. |
Универсальное текстовое сопоставление функций
Функция TCHAR.H |
неопределенные _UNICODE & _MBCS |
определенные _MBCS |
Определение _UNICODE |
---|---|---|---|
_vtcprintf_s |
_vcprintf_s |
_vcprintf_s |
_vcwprintf_s |
_vtcprintf_s_l |
_vcprintf_s_l |
_vcprintf_s_l |
_vcwprintf_s_l |
Требования
Функция |
Требуемый заголовок |
Необязательные заголовки |
---|---|---|
_vcprintf_s, _vcprintf_s_l |
<conio.h> и <stdarg.h> |
<varargs.h>* |
_vcwprintf_s, _vcwprintf_s_l |
<conio.h> или <wchar.h>и <stdarg.h> |
<varargs.h>* |
* Требуется для обеспечения совместимости с UNIX V.
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Пример
// crt_vcprintf_s.cpp
#include <conio.h>
#include <stdarg.h>
// An error formatting function used to print to the console.
int eprintf_s(const char* format, ...)
{
va_list args;
va_start(args, format);
return _vcprintf_s(format, args);
}
int main()
{
eprintf_s(" (%d:%d): Error %s%d : %s\n", 10, 23, "C", 2111,
"<some error text>");
eprintf_s(" (Related to symbol '%s' defined on line %d).\n",
"<symbol>", 5 );
}
Эквивалент в .NET Framework
См. также
Ссылки
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l