Поделиться через


_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

System::Console::Write

См. также

Ссылки

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

функции vprintf

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

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