Compartir a través de


vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l

Escribir con formato salida mediante un puntero a una lista de argumentos.Éstas son versiones de vprintf, _vprintf_l, vwprintf, _vwprintf_l con mejoras de seguridad como se describe en Características de seguridad en CRT.

int vprintf_s(
   const char *format,
   va_list argptr 
);
int _vprintf_s_l(
   const char *format,
   locale_t locale,
   va_list argptr 
);
int vwprintf_s(
   const wchar_t *format,
   va_list argptr 
);
int _vwprintf_s_l(
   const wchar_t *format,
   locale_t locale,
   va_list argptr 
);

Parámetros

  • format
    Especificación de formato.

  • argptr
    Puntero a la lista de argumentos.

  • locale
    La configuración regional a utilizar.

Para obtener más información, vea Especificaciones de formato.

Valor devuelto

vprintf_s y vwprintf_s devuelven el número de caracteres y, sin incluir el carácter null de terminación, o un valor negativo si un error de salida aparece.Si format es un puntero NULL, o si la cadena de formato contiene caracteres de formato no válidos, 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, las funciones devuelven -1 y errno establecido en EINVAL.

Para obtener información sobre éstos y otros códigos de error, vea _doserrno, errno, _sys_errlist, y _sys_nerr.

Comentarios

Cada una de estas funciones contiene un puntero a una lista de argumentos, los formatos y escribe los datos especificados en stdout.

Las versiones seguras de estas funciones difieren de vprintf y de vwprintf sólo en que las versiones seguras comprobar que la cadena de formato contiene caracteres de formato válidos.

vwprintf_s constituye la versión con caracteres anchos de vprintf_s; las dos funciones se comportan exactamente igual si la secuencia se abre en el modo de ANSI.vprintf_s no admite actualmente la salida en una secuencia de UNICODE.

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

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.

Asignaciones de la rutina de Genérico- texto

Rutina de TCHAR.H

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_vtprintf_s

vprintf_s

vprintf_s

vwprintf_s

_vtprintf_s_l

_vprintf_s_l

_vprintf_s_l

_vwprintf_s_l

Requisitos

Rutina

Encabezado necesario

Encabezados opcionales

vprintf_s, _vprintf_s_l

<stdio.h> y <stdarg.h>

<varargs.h>*

vwprintf_s, _vwprintf_s_l

<stdio.h> o <wchar.h>, y <stdarg.h>

<varargs.h>*

* Necesario para la compatibilidad de UNIX V.

La consola no se admite en las aplicaciones de Tienda Windows.Los identificadores estándar de la secuencia asociados a la consola, stdin, stdout, y stderr, deben redirigir antes de que las funciones en tiempo de ejecución de C pueden utilizarlos en las aplicaciones de Tienda Windows.Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Equivalente en .NET Framework

System::Console::Write

Vea también

Referencia

E/S de la secuencia

funciones de vprintf

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

va_arg, va_end, va_start