_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