_vcprintf_p, _vcprintf_p_l, _vcwprintf_p, _vcwprintf_p_l
Escribe dio formato la salida en la consola mediante un puntero a una lista de argumentos, y admiten parámetros posicionales en la cadena de formato.
Importante |
---|
Esta API no se puede utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones CRT no compatibles con /ZW. |
int _vcprintf_p(
const char* format,
va_list argptr
);
int _vcprintf_p_l(
const char* format,
locale_t locale,
va_list argptr
);
int _vcwprintf_p(
const wchar_t* format,
va_list argptr
);
int _vcwprintf_p_l(
const wchar_t* format,
locale_t locale,
va_list argptr
);
Parámetros
format
La especificación de formato.argptr
Un puntero a una lista de argumentos.locale
La configuración regional a utilizar.
Para obtener más información, vea Sintaxis de especificación de formato: Funciones printf y wprintf.
Valor devuelto
El número de caracteres escrito, o un valor negativo si un error de salida aparece.Si format es un puntero NULL, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, errno se establece en EINVAL y se devuelve -1.
Comentarios
Cada una de estas funciones contiene un puntero a una lista de argumentos, y después se utiliza la función de _putch para dar formato y escribir los datos especificados en la consola.(_vcwprintf_p utiliza _putwch en lugar de _putch._vcwprintf_p constituye la versión con caracteres anchos de _vcprintf_p.Toma una cadena de caracteres como argumento.)
Las versiones en estas funciones que tienen el sufijo de _l sean idénticas salvo que de ellas utilizan el parámetro locale que se pasa en lugar de la configuración regional actual.
Cada argument (si existe) se convierte y generado según la especificación correspondiente de formato en format.La especificación de formato admite parámetros posicionales para poder especificar el orden en el que los argumentos se utilizan en la cadena de formato.Para obtener más información, vea parámetros posicionales De printf_p.
Estas funciones no se traducen los caracteres de avance de línea a combinaciones de fuentes de la retorno- línea de carro (CR-LF) cuando se generan.
Nota sobre la seguridad |
---|
Asegúrese de que format no es una cadena definida por el usuario.Para obtener más información, vea Para evitar las saturaciones del búfer. |
Estas funciones validan el puntero de la entrada y la cadena de formato.Si format o argument es NULL, o si la cadena de formato contiene caracteres de formato no válidos, estas funciones se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, estas funciones devuelven -1 y errno establecido en EINVAL.
Asignaciones de la rutina de Genérico- texto
Rutina de Tchar.h |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_vtcprintf_p |
_vcprintf_p |
_vcprintf_p |
_vcwprintf_p |
_vtcprintf_p_l |
_vcprintf_p_l |
_vcprintf_p_l |
_vcwprintf_p_l |
Requisitos
Rutina |
Encabezado necesario |
---|---|
_vcprintf_p, _vcprintf_p_l |
<conio.h> y <stdarg.h> |
_vcwprintf_p, _vcwprintf_p_l |
<conio.h> y <stdarg.h> |
Para obtener más información de compatibilidad, vea Compatibilidad.
Ejemplo
// crt_vcprintf_p.c
// compile with: /c
#include <conio.h>
#include <stdarg.h>
// An error formatting function that's used to print to the console.
int eprintf(const char* format, ...)
{
va_list args;
va_start(args, format);
return _vcprintf_p(format, args);
}
int main()
{
int n = eprintf("parameter 2 = %2$d; parameter 1 = %1$s\r\n",
"one", 222);
_cprintf_s("%d characters printed\r\n");
}