_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

Выводит форматированный вывод в стандартный поток вывода, с возможностью указать порядок, в котором параметры используются в строке формата.

int _printf_p(
   const char *format [,
   argument]... 
);
int _printf_p_l(
   const char *format,
   locale_t locale [,
   argument]... 
);
int _wprintf_p(
   const wchar_t *format [,
   argument]... 
);
int _wprintf_p_l(
   const wchar_t *format,
   locale_t locale [,
   argument]... 
);

Параметры

  • format
    Управление форматом.

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

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

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

Возвращает вывод число символов или отрицательное значение при возникновении ошибки.

Заметки

Функция _printf_p форматирует и выводит набор символов и значений в стандартный поток вывода, stdout.Если аргументы определяют строку format, строка format должна содержать спецификации, определяющие формат вывода для аргументов (см. позиционных параметров printf_p).

Различие между _printf_p и printf_s, _printf_p поддерживает позиционных параметров, которая позволяет определить порядок, в котором используются аргументы в строке формата.Для получения дополнительной информации см. позиционных параметров printf_p.

версия _wprintf_p является _printf_p; их поведение идентично поток, открытый в режиме ANSI._printf_p в настоящее время не поддерживает вывод в поток в юникоде.

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

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

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

Если format или argumentNULL или строки формата содержит недопустимые символы форматирования, _printf_p и _wprintf_p вызывают обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если продолжение выполнения разрешено, функция возвращает -1 и устанавливает errno в значение EINVAL.

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

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

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

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

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

_tprintf_p

_printf_p

_printf_p

_wprintf_p

_tprintf_p_l

_printf_p_l

_printf_p_l

_wprintf_p_l

Требования

Функция

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

_printf_p, _printf_p_l

<stdio.h>

_wprintf_p, _wprintf_p_l

<stdio.h> или <wchar.h>

Консоль не поддерживается в приложениях Магазина Windows.Стандартные дескрипторы потока, связанные с консолью, stdin, stdout и stderr, необходимо перенаправить до функции C времени выполнения могут использовать их в приложениях Магазина Windows.Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Пример

// crt_printf_p.c
// This program uses the _printf_p and _wprintf_p
// functions to choose the order in which parameters
// are used.

#include <stdio.h>

int main( void )
{
   // Positional arguments 
   _printf_p( "Specifying the order: %2$s %3$s %1$s %4$s %5$s.\n",
              "little", "I'm", "a", "tea", "pot");

   // Resume arguments
   _wprintf_p( L"Reusing arguments: %1$d %1$d %1$d %1$d\n", 10);

   // Width argument
   _printf_p("Width specifiers: %1$*2$s", "Hello\n", 10);
}
  
  

Эквивалент в .NET Framework

См. также

Ссылки

Поддержка чисел с плавающей запятой

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

Языковой стандарт

fopen, _wfopen

_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l

fprintf, _fprintf_l, fwprintf, _fwprintf_l

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

scanf, _scanf_l, wscanf, _wscanf_l

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

функции vprintf