_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
См. также
Ссылки
Поддержка чисел с плавающей запятой
_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