Compartir a través de


funciones de vprintf

Cada una de las funciones de vprintf contiene un puntero a una lista de argumentos, los formatos y escribe los datos especificados a un destino determinado.Las funciones difieren en la validación de parámetros realizada, si las funciones toman de ancho o cadenas de caracteres de un solo byte, el destino de salida, y compatibilidad para especificar el orden en el que los parámetros se utilizan en la cadena de formato.

_vcprintf, _vcwprintf

vfprintf, vfwprintf

_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l

vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

vprintf, vwprintf

_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l

vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l

vsprintf, vswprintf

_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l

vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l

_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l

_vsnprintf, _vsnwprintf

Comentarios

Las funciones de vprintf son similares a las funciones de equivalente como se muestra en la tabla siguiente.Sin embargo, cada función de vprintf acepta un puntero a una lista de argumentos, mientras que cada una de las funciones de homólogo acepta una lista de argumentos.

Estas funciones da formato a los datos de salida a los destinos como sigue.

Función

Función de equivalente

Destino de salida

Validación de parámetros

Compatibilidad de parámetro posicional

_vcprintf

_cprintf

consola

Comprobación de null.

no

_vcwprintf

_cwprintf

consola

Comprobación de null.

no

vfprintf

fprintf

Stream

Comprobación de null.

no

vfprintf_p

fprintf_p

Stream

Comprobación de formato null y válido.

vfprintf_s

fprintf_s

Stream

Comprobación de formato null y válido.

no

vfwprintf

fwprintf

Stream

Comprobación de null.

no

vfwprintf_p

fwprintf_p

Stream

Comprobación de formato null y válido.

vfwprintf_s

fwprintf_s

Stream

Comprobación de formato null y válido.

no

vprintf

printf

Stdout

Comprobación de null.

no

vprintf_p

printf_p

Stdout

Comprobación de formato null y válido.

vprintf_s

printf_s

Stdout

Comprobación de formato null y válido.

no

vwprintf

wprintf

Stdout

Comprobación de null.

no

vwprintf_p

wprintf_p

Stdout

Comprobación de formato null y válido.

vwprintf_s

wprintf_s

Stdout

Comprobación de formato null y válido.

no

vsprintf

sprintf

memoria designada por el búfer

Comprobación de null.

no

vsprintf_p

sprintf_p

memoria designada por el búfer

Comprobación de formato null y válido.

vsprintf_s

sprintf_s

memoria designada por el búfer

Comprobación de formato null y válido.

no

vswprintf

swprintf

memoria designada por el búfer

Comprobación de null.

no

vswprintf_p

swprintf_p

memoria designada por el búfer

Comprobación de formato null y válido.

vswprintf_s

swprintf_s

memoria designada por el búfer

Comprobación de formato null y válido.

no

_vscprintf

_vscprintf

memoria designada por el búfer

Comprobación de null.

no

_vscwprintf

_vscwprintf

memoria designada por el búfer

Comprobación de null.

no

_vsnprintf

_snprintf

memoria designada por el búfer

Comprobación de null.

no

_vsnwprintf

_snwprintf

memoria designada por el búfer

Comprobación de null.

no

El argumento de argptr ha escrito va_list, que se define en VARARGS.H y STDARG.H.La variable de argptr debe inicializarse por va_start, y se puede restablecer por las llamadas subsiguientes de va_arg ; puntos de argptr después al principio de una lista de argumentos que se convierten y transmitidos para la salida según las especificaciones correspondientes en el argumento de formato .el formato tiene el mismo formato y función que el argumento de formato para printf.Ninguna de estas funciones invocan va_end.Para obtener una descripción completa de cada función de vprintf , vea la descripción de la función de equivalente como se muestra en la tabla anterior.

_vsnprintf diferencia de vsprintf en que escribe no más de bytes counten el búfer.

Las versiones de estas funciones con el infijo de w en el nombre son versiones de caracteres anchos de las funciones correspondientes sin el infijo de w ; en cada una de estas funciones de carácter ancho, el búfer y el formato son cadenas de caracteres.Si no, cada función de carácter ancho se comporta de forma idéntica a la función de equivalente de SBCS.

las versiones de estas funciones con _s y los sufijos de _p son las versiones más seguras.Estas versiones validan las cadenas de formato y generará una excepción si la cadena de formato no está bien formada (por ejemplo, si se utilizan caracteres de formato no válidos).

Las versiones de estas funciones con el sufijo de _p proporcionan la capacidad de especificar el orden en el que los argumentos proporcionados se sustituyen en la cadena de formato.Para obtener más información, vea parámetros posicionales De printf_p.

Para vsprintf, vswprintf, _vsnprintf y _vsnwprintf, si la copia aparece entre cadenas superpuestas, el comportamiento es indefinido.

Nota de seguridadNota sobre la seguridad

Asegúrese de que el formato no es una cadena definida por el usuario.Para obtener más información, vea Para evitar las saturaciones del búfer.Si usó las versiones seguras de estas funciones (los sufijos de _s o de _p ), una cadena de formato proporcionada podría desencadenar una excepción no válida de parámetro si la cadena proporcionada contiene caracteres de formato no válidos.

Vea también

Referencia

E/S de la secuencia

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