funcionesvprintf
Cada una de las funciones vprintf
toma un puntero a una lista de argumentos y, después, aplica formato a los datos determinados y los escribe en un destino concreto. Las funciones difieren de varias maneras: en la validación de parámetros, si las funciones toman cadenas de caracteres de un solo byte o ancho, el destino de salida y la compatibilidad para especificar los parámetros de orden se usan 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
_vscprintf
, _vscprintf_l
, , _vscwprintf
, _vscwprintf_l
_vsnprintf
, , _vsnwprintf
vsprintf
,vswprintf
_vsprintf_p
, _vsprintf_p_l
, , _vswprintf_p
, _vswprintf_p_l
vsprintf_s
, _vsprintf_s_l
, , vswprintf_s
, _vswprintf_s_l
Comentarios
Las funciones vprintf
son similares a sus funciones equivalentes, como se muestra en la tabla siguiente. Sin embargo, cada función vprintf
acepta un puntero a una lista de argumentos, mientras que cada una de las funciones equivalentes acepta una lista de argumentos.
Estas funciones aplican formato a los datos para la salida en los destinos como se indica a continuación.
Función | Función equivalente | Destino de salida | Validación de parámetros | Compatibilidad con parámetros posicionales |
---|---|---|---|---|
_vcprintf |
_cprintf |
Consola | Buscar valores Null. | no |
_vcwprintf |
_cwprintf |
Consola | Buscar valores Null. | no |
vfprintf |
fprintf |
stream |
Buscar valores Null. | no |
vfprintf_p |
fprintf_p |
stream |
Buscar valor Null y formato válido. | sí |
vfprintf_s |
fprintf_s |
stream |
Buscar valor Null y formato válido. | no |
vfwprintf |
fwprintf |
stream |
Buscar valores Null. | no |
vfwprintf_p |
fwprintf_p |
stream |
Buscar valor Null y formato válido. | sí |
vfwprintf_s |
fwprintf_s |
stream |
Buscar valor Null y formato válido. | no |
vprintf |
printf |
stdout |
Buscar valores Null. | no |
vprintf_p |
printf_p |
stdout |
Buscar valor Null y formato válido. | sí |
vprintf_s |
printf_s |
stdout |
Buscar valor Null y formato válido. | no |
vwprintf |
wprintf |
stdout |
Buscar valores Null. | no |
vwprintf_p |
wprintf_p |
stdout |
Buscar valor Null y formato válido. | sí |
vwprintf_s |
wprintf_s |
stdout |
Buscar valor Null y formato válido. | no |
vsprintf |
sprintf |
memoria a la que apunta buffer |
Buscar valores Null. | no |
vsprintf_p |
sprintf_p |
memoria a la que apunta buffer |
Buscar valor Null y formato válido. | sí |
vsprintf_s |
sprintf_s |
memoria a la que apunta buffer |
Buscar valor Null y formato válido. | no |
vswprintf |
swprintf |
memoria a la que apunta buffer |
Buscar valores Null. | no |
vswprintf_p |
swprintf_p |
memoria a la que apunta buffer |
Buscar valor Null y formato válido. | sí |
vswprintf_s |
swprintf_s |
memoria a la que apunta buffer |
Buscar valor Null y formato válido. | no |
_vscprintf |
_vscprintf |
memoria a la que apunta buffer |
Buscar valores Null. | no |
_vscwprintf |
_vscwprintf |
memoria a la que apunta buffer |
Buscar valores Null. | no |
_vsnprintf |
_snprintf |
memoria a la que apunta buffer |
Buscar valores Null. | no |
_vsnwprintf |
_snwprintf |
memoria a la que apunta buffer |
Buscar valores Null. | no |
El argumento argptr
es del tipo va_list
, que se define en VARARGS.H y STDARG.H. La argptr
variable se debe inicializar mediante va_start y se puede reinicializar mediante llamadas posteriores va_arg
; argptr
a continuación, apunta al principio de una lista de argumentos que se convierten y transmiten para la salida según las especificaciones correspondientes del format
argumento. format
tiene la misma forma y función que el format
argumento para printf
. Ninguna de estas funciones invoca va_end
. Para obtener una descripción más completa de cada función vprintf
, vea la descripción de su función equivalente, como se muestra en la tabla anterior.
_vsnprintf
difiere de vsprintf
en que escribe no más de count
bytes en buffer
.
Las versiones de estas funciones con el infijo w en el nombre son versiones de caracteres anchos de las funciones correspondientes sin el infijo w ; en cada una de estas funciones de caracteres anchos, buffer
y format
son cadenas de caracteres anchos. De lo contrario, cada función de caracteres anchos tiene un comportamiento idéntico a su función de SBCS equivalente.
Las versiones de estas funciones con _s
sufijos y _p
son las versiones más seguras. Estas versiones validan las cadenas de formato. Generarán una excepción si la cadena de formato no tiene el formato correcto (por ejemplo, si se usan caracteres de formato no válidos).
Las versiones de estas funciones con el _p
sufijo permiten especificar el orden en el que se sustituyen los argumentos proporcionados en la cadena de formato. Para obtener más información, consulte printf_p (Parámetros de posición).
Para vsprintf
, vswprintf
_vsnprintf
y _vsnwprintf
, si la copia se produce entre cadenas que se superponen, el comportamiento no está definido.
Importante
Asegúrese de que format
no es una cadena definida por el usuario. Para obtener más información, consulte Evitar saturaciones del búfer. Si usa las versiones seguras de estas funciones (ya sea los sufijos o _p
), una cadena de formato proporcionada por el _s
usuario podría desencadenar una excepción de parámetro no válida si la cadena proporcionada por el usuario contiene caracteres de formato no válidos.
Consulte también
E/S de secuencia
fprintf
, _fprintf_l
, , fwprintf
, _fwprintf_l
printf
, _printf_l
, , wprintf
, _wprintf_l
sprintf
, _sprintf_l
, swprintf
, , _swprintf_l
, __swprintf_l
va_arg
, va_copy
, , va_end
, va_start