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 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
Vea también
Referencia
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l