_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l
Imprime el resultado con formato en el flujo de salida estándar y permite especificar el orden en el que se usan los parámetros en la cadena de formato.
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]...
);
Parámetros
format
Control de formato.argument
Argumentos opcionales.locale
Configuración regional que se va a usar.
Valor devuelto
Devuelve el número de caracteres impreso o un valor negativo si se produce un error.
Comentarios
La función _printf_p da formato e imprime una serie de caracteres y valores en el flujo de salida estándar, stdout. Si los argumentos siguen a la cadena de format, la cadena de format debe contener especificaciones que determinen el formato de salida de los argumentos (vea printf_p (Parámetros de posición)).
La diferencia entre _printf_p y printf_s es que _printf_p admite parámetros posicionales, lo que permite especificar el orden en el que se usan los argumentos en la cadena de formato. Para obtener más información, vea printf_p (Parámetros de posición).
_wprintf_p es la versión de caracteres anchos de _printf_p. Se comportan exactamente igual si el flujo se abre en modo ANSI. _printf_p no admite actualmente la salida en un flujo UNICODE.
Las versiones de estas funciones con el sufijo _l son idénticas salvo que usan el parámetro locale pasado en lugar de la configuración regional del subproceso actual.
Nota sobre la seguridad |
---|
Asegúrese de que format no es una cadena definida por el usuario. |
Si format o argument es NULL, o la cadena de formato contiene caracteres de formato no válidos, _printf_p y las funciones de _wprintf_p invoca un controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, la función devuelve -1 y establece errno en EINVAL.
Asignaciones de rutina de texto genérico
Rutina Tchar.h |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tprintf_p |
_printf_p |
_printf_p |
_wprintf_p |
_tprintf_p_l |
_printf_p_l |
_printf_p_l |
_wprintf_p_l |
Requisitos
Rutina |
Encabezado necesario |
---|---|
_printf_p, _printf_p_l |
<stdio.h> |
_wprintf_p, _wprintf_p_l |
<stdio.h> o <wchar.h> |
La consola no se admite en las aplicaciones de Tienda Windows. Se deben redirigir los identificadores estándar de flujo que están asociados a la consola, stdin, stdout y stderr, antes de que las funciones en tiempo de ejecución de C puedan usarlos en aplicaciones de Tienda Windows. Para obtener más información sobre compatibilidad, vea Compatibilidad.
Ejemplo
// 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);
}
Equivalente en .NET Framework
Vea también
Referencia
Compatibilidad con el punto flotante
_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