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


_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l

Форматирует и печатает на консоль, поддерживает позиционные параметры в строке формата.

Важно!

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

int _cprintf_p( 
   const char * format [, 
   argument] ... 
);
int _cprintf_p_l( 
   const char * format,
   locale_t locale [, 
   argument] ... 
);
int _cwprintf_p(
   const wchar * format [, 
   argument] ...
);
int _cwprintf_p_l(
   const wchar * format,
   locale_t locale [,
   argument] ...
);

Параметры

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

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

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

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

Число напечатанных символов или отрицательное значение в случае ошибки.

Заметки

Эти функции форматируют и печатают наборы символов и значений напрямую на консоль, используя функции _putch и _putwch для вывода символов. Каждый argument (если он есть) преобразуется и выводится согласно соответствующей спецификацией формата в format. Формат имеет те же форму и функцию, что и параметр format для функции printf_p. Различие между _cprintf_p и cprintf_s, _cprintf_p заключается в поддержке позиционных параметров, которые позволяют определить порядок, в котором аргументы используются для форматирования строки. Для получения дополнительной информации см. Позиционные параметры printf_p.

В отличие от функций fprintf_p, printf_p и sprintf_p, ни _cprintf_p, ни _cwprintf_p не заменяют символы конца строки на сочетание символов конца строки и возврата каретки (CR-LF) при выводе. Важное отличие заключается в том, что _cwprintf_p показывает символы юникода при использовании в Windows NT. В отличие от _cprintf_p, _cwprintf_p использует текущие параметры языкового стандарта консоли.

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

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

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

Кроме того, как и _cprintf_s и _cwprintf_s, они проверяют входной указатель и строку формата. Если format или argument имеют значение NULL или строка формата содержит недопустимые символы форматирования, эти функции вызывают обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, эти функции возвращают -1 и устанавливают errno в значение EINVAL.

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

Подпрограмма Tchar.h

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

_MBCS определено

_UNICODE определено

_tcprintf_p

_cprintf_p

_cprintf_p

_cwprintf_p

_tcprintf_p_l

_cprintf_p_l

_cprintf_p_l

_cwprintf_p_l

Требования

Подпрограмма

Обязательный заголовок

_cprintf_p,_cprintf_p_l

<conio.h>

_cwprintf_p,_cwprintf_p_l

<conio.h>

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

Пример

// crt_cprintf_p.c
// This program displays some variables to the console
// using the _cprintf_p function.

#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_p( "%2$d  %1$.4x  %3$u  %4$c %5$s\r\n", 
                h, i, u, c, s );
}
  

См. также

Ссылки

Ввод-вывод на консоль и порт

_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

_cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l

_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l

_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l

_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l

_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l

Позиционные параметры printf_p

Позиционные параметры printf_p

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