vprintf
funzioni
Ognuna delle funzioni vprintf
accetta un puntatore a un elenco di argomenti e quindi formatta e scrive i dati specificati in una destinazione particolare. Le funzioni differiscono in diversi modi: nella convalida dei parametri, se le funzioni accettano stringhe di caratteri a byte singolo o wide, la destinazione di output e il supporto per specificare i parametri dell'ordine vengono usati nella stringa di 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
Osservazioni:
Le funzioni vprintf
sono simili alle loro controparti, come indicato nella tabella seguente. Tuttavia, ogni funzione vprintf
accetta un puntatore a una lista di argomenti, mentre ognuna delle funzioni corrispondenti accetta un elenco di argomenti.
Queste funzioni consentono di formattare i dati per l'output verso le destinazioni, come indicato di seguito.
Funzione | Funzione controparte | Destinazione di output | Convalida dei parametri | Supporto parametro posizionale |
---|---|---|---|---|
_vcprintf |
_cprintf |
console | Controllo dei valori null. | no |
_vcwprintf |
_cwprintf |
console | Controllo dei valori null. | no |
vfprintf |
fprintf |
stream |
Controllo dei valori null. | no |
vfprintf_p |
fprintf_p |
stream |
Controllo dei valori null e del formato valido. | yes |
vfprintf_s |
fprintf_s |
stream |
Controllo dei valori null e del formato valido. | no |
vfwprintf |
fwprintf |
stream |
Controllo dei valori null. | no |
vfwprintf_p |
fwprintf_p |
stream |
Controllo dei valori null e del formato valido. | yes |
vfwprintf_s |
fwprintf_s |
stream |
Controllo dei valori null e del formato valido. | no |
vprintf |
printf |
stdout |
Controllo dei valori null. | no |
vprintf_p |
printf_p |
stdout |
Controllo dei valori null e del formato valido. | yes |
vprintf_s |
printf_s |
stdout |
Controllo dei valori null e del formato valido. | no |
vwprintf |
wprintf |
stdout |
Controllo dei valori null. | no |
vwprintf_p |
wprintf_p |
stdout |
Controllo dei valori null e del formato valido. | yes |
vwprintf_s |
wprintf_s |
stdout |
Controllo dei valori null e del formato valido. | no |
vsprintf |
sprintf |
memoria puntata da buffer |
Controllo dei valori null. | no |
vsprintf_p |
sprintf_p |
memoria puntata da buffer |
Controllo dei valori null e del formato valido. | yes |
vsprintf_s |
sprintf_s |
memoria puntata da buffer |
Controllo dei valori null e del formato valido. | no |
vswprintf |
swprintf |
memoria puntata da buffer |
Controllo dei valori null. | no |
vswprintf_p |
swprintf_p |
memoria puntata da buffer |
Controllo dei valori null e del formato valido. | yes |
vswprintf_s |
swprintf_s |
memoria puntata da buffer |
Controllo dei valori null e del formato valido. | no |
_vscprintf |
_vscprintf |
memoria puntata da buffer |
Controllo dei valori null. | no |
_vscwprintf |
_vscwprintf |
memoria puntata da buffer |
Controllo dei valori null. | no |
_vsnprintf |
_snprintf |
memoria puntata da buffer |
Controllo dei valori null. | no |
_vsnwprintf |
_snwprintf |
memoria puntata da buffer |
Controllo dei valori null. | no |
L'argomento argptr
è di tipo va_list
, definito in VARARGS.H e in STDARG.H. La argptr
variabile deve essere inizializzata da va_start e può essere reinizializzata dalle chiamate successive va_arg
, argptr
quindi punta all'inizio di un elenco di argomenti convertiti e trasmessi per l'output in base alle specifiche corrispondenti nell'argomento format
. format
ha la stessa forma e funzione dell'argomento format
per printf
. Nessuna di queste funzioni richiama va_end
. Per una descrizione più completa di ogni funzione vprintf
, vedere la descrizione della funzione corrispondente come indicato nella tabella precedente.
_vsnprintf
differisce da in vsprintf
quanto scrive non più di count
byte in buffer
.
Le versioni di queste funzioni con il prefisso w nel nome sono versioni a caratteri wide delle funzioni corrispondenti senza il prefisso w , in ognuna di queste funzioni buffer
a caratteri wide e format
sono stringhe di caratteri wide. Ogni altra funzione a caratteri wide si comporta in modo identico alla funzione SBCS corrispondente.
Le versioni di queste funzioni con _s
e _p
suffissi sono le versioni più sicure. Queste versioni convalidano le stringhe di formato. Genereranno un'eccezione se la stringa di formato non è corretta, ad esempio se vengono usati caratteri di formattazione non validi.
Le versioni di queste funzioni con il _p
suffisso consentono di specificare l'ordine in cui gli argomenti forniti vengono sostituiti nella stringa di formato. Per altre informazioni, vedere printf_p Positional Parameters (Parametri posizionali printf_p).
Per vsprintf
, vswprintf
_vsnprintf
e _vsnwprintf
, se la copia si verifica tra stringhe che si sovrappongono, il comportamento non è definito.
Importante
Assicurarsi che format
non sia una stringa definita dall'utente. Per altre informazioni, vedere Evitare sovraccarichi del buffer. Se si usano le versioni protette di queste funzioni (i _s
suffissi o _p
), una stringa di formato fornita dall'utente potrebbe attivare un'eccezione di parametro non valida se la stringa fornita dall'utente contiene caratteri di formattazione non validi.
Vedi anche
I/O di flusso
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