_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l

Форматирует и выводятся на консоль.Здесь представлены версии _cprintf, _cprintf_l, _cwprintf, _cwprintf_l с усовершенствованной безопасностью, как описано в разделе Средства безопасности в CRT.

Важное примечаниеВажно

Этот API нельзя использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW.

int _cprintf_s( 
   const char * format [, 
   argument] ... 
);
int _cprintf_s_l( 
   const char * format,
   locale_t locale [, 
   argument] ... 
);
int _cwprintf_s(
   const wchar * format [, 
   argument] ...
);
int _cwprintf_s_l(
   const wchar * format,
   locale_t locale [, 
   argument] ...
);

Параметры

  • format
    Строка Формат-элемента управления.

  • argument
    Необязательные параметры.

  • locale
    Используемый языковой стандарт.

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

Вывод числа символов.

Заметки

Эти функции формате и типу последовательность символов и значения непосредственно на консоль, с помощью функции _putch (_putwch ) для _cwprintf_s для вывода символы.Каждый объект argument (если есть), а результат преобразуется в соответствии с соответствующим спецификации формата в format.Формат имеет те же форму и функцию, что и параметр format для функции printf_s.В отличие от классов fprintf_s, printf_s и sprintf_s, ни _cprintf_s, ни _cwprintf_s переводят символы перевода чтроки сочетания канала в очереди возврата экипажа () CR-LF выходных данных.

Важное отличие заключается в том, что _cwprintf_s указывает символы юникода при использовании в Windows NT.В отличие от _cprintf_s, _cwprintf_s использует текущий языковой стандарт консоли

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

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

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

Как и безопасные версии (см. раздел _cprintf, _cprintf_l, _cwprintf, _cwprintf_l), эти функции проверяют их параметры и вызов обработчика недопустимого параметра, как описано в Проверка параметров, если указатель format.Эти функции отличаются от версий не происходит в том, что сама строка формата также проверяется.Если любое неисвестне или плохо сформированный форматировании описатели, эти функции вызывается обработчик недопустимого параметра.Во всех случаях, если выполнение позволяется продолжать, возвращают значение -1 функций и свойству errno задано значение EINVAL.

Универсальное текстовое сопоставление функций

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

Не указаны _UNICODE и _MBCS

определенные _MBCS

Определение _UNICODE

_tcprintf_s

_cprintf_s

_cprintf_s

_cwprintf_s

_tcprintf_s_l

_cprintf_s_l

_cprintf_s_l

_cwprintf_s_l

Требования

Функция

Требуемый заголовок

_cprintf_s,_cprintf_s_l

<conio.h>

_cwprintf_s, _cwprintf_s_l

<conio.h>

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

Библиотеки

Все версии Библиотек времени выполнения C.

Пример

// crt_cprintf_s.c
// compile with: /c
// This program displays some variables to the console.


#include <conio.h>

int main( void )
{
   int      i = -16, h = 29;
   unsigned u = 62511;
   char     c = 'A';
   char     s[] = "Test";

   /* Note that console output does not translate \n as
    * standard output does. Use \r\n instead.
    */
   _cprintf_s( "%d  %.4x  %u  %c %s\r\n", i, h, u, c, s );
}

Output

-16  001d  62511  A Test

См. также

Ссылки

ВВОДА-ВЫВОДА консоли и порта

_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Синтаксис описания формата: функции printf и wprintf