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.
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 |
consola |
Comprobación de null. |
no |
|
_vcwprintf |
consola |
Comprobación de null. |
no |
|
vfprintf |
Stream |
Comprobación de null. |
no |
|
vfprintf_p |
Stream |
Comprobación de formato null y válido. |
sí |
|
vfprintf_s |
Stream |
Comprobación de formato null y válido. |
no |
|
vfwprintf |
Stream |
Comprobación de null. |
no |
|
vfwprintf_p |
Stream |
Comprobación de formato null y válido. |
sí |
|
vfwprintf_s |
Stream |
Comprobación de formato null y válido. |
no |
|
vprintf |
Stdout |
Comprobación de null. |
no |
|
vprintf_p |
Stdout |
Comprobación de formato null y válido. |
sí |
|
vprintf_s |
Stdout |
Comprobación de formato null y válido. |
no |
|
vwprintf |
Stdout |
Comprobación de null. |
no |
|
vwprintf_p |
Stdout |
Comprobación de formato null y válido. |
sí |
|
vwprintf_s |
Stdout |
Comprobación de formato null y válido. |
no |
|
vsprintf |
memoria designada por el búfer |
Comprobación de null. |
no |
|
vsprintf_p |
memoria designada por el búfer |
Comprobación de formato null y válido. |
sí |
|
vsprintf_s |
memoria designada por el búfer |
Comprobación de formato null y válido. |
no |
|
vswprintf |
memoria designada por el búfer |
Comprobación de null. |
no |
|
vswprintf_p |
memoria designada por el búfer |
Comprobación de formato null y válido. |
sí |
|
vswprintf_s |
memoria designada por el búfer |
Comprobación de formato null y válido. |
no |
|
_vscprintf |
memoria designada por el búfer |
Comprobación de null. |
no |
|
_vscwprintf |
memoria designada por el búfer |
Comprobación de null. |
no |
|
_vsnprintf |
memoria designada por el búfer |
Comprobación de null. |
no |
|
_vsnwprintf |
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 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
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l