_vcprintf_p, _vcprintf_p_l, _vcwprintf_p, _vcwprintf_p_l

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Escribe la salida con formato en la consola mediante un puntero a una lista de argumentos y admite parámetros posicionales en la cadena de formato.

System_CAPS_ICON_important.jpg Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para más información, vea Funciones de CRT no admitidas 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
Especificación de formato.

argptr
Puntero a una lista de argumentos.

locale
Configuración regional que se va a usar.

Para obtener más información, consulte sintaxis de especificación de formato: funciones printf y wprintf.

Número de caracteres escritos o un valor negativo si se produce un error en la salida. Si format es un puntero nulo, se invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, errno se establece en EINVAL y se devuelve -1.

Cada una de estas funciones toma un puntero a una lista de argumentos y luego usa la función _putch para aplicar formato a los datos y escribirlos en la consola. (_vcwprintf_p usa _putwch en lugar de _putch. _vcwprintf_p es la versión con caracteres anchos de _vcprintf_p. Toma una cadena de caracteres anchos como argumento).

Las versiones de estas funciones con el sufijo _l son idénticas salvo que usan el parámetro de configuración regional que se pasa en lugar de la configuración regional del subproceso actual.

Cada argument (si existe) se convierte y se muestra según la especificación de formato correspondiente de format. La especificación de formato 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, consulte printf_p parámetros posicionales.

Estas funciones no convierten los caracteres de avance de línea en combinaciones retorno de carro-avance de línea (CR-LF) cuando producen valores de salida.

System_CAPS_ICON_important.jpg Importante

Asegúrese de que format no es una cadena definida por el usuario. Para obtener más información, vea Avoiding Buffer Overruns(Evitar saturaciones del búfer).

Estas funciones validan el puntero de 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 invocan el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, estas funciones devuelven -1 y establecen errno en EINVAL.

Asignaciones de rutina de texto genérico

Rutina 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
RutinaEncabezado 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 sobre compatibilidad, vea Compatibility.

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

parameter 2 = 222; parameter 1 = one  
38 characters printed  

E/S de consola y puerto
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
va_arg, va_copy, va_end, va_start
printf_p (parámetros posicionales)

Mostrar: