Compartir a través de


_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.

Nota importanteImportante

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 de seguridadNota 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");
}
  

Vea también

Referencia

E/S de la consola y de puerto

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

va_arg, va_end, va_start

parámetros posicionales De printf_p