funzioni di vprintf
Ognuna delle funzioni vprintf accetta un puntatore a un elenco di argomenti, quindi formatta e scrive i dati specificati in una particolare destinazione.Le funzioni differiscono per la convalida dei parametri eseguita, per l'utilizzo da parte delle funzioni di stringhe di caratteri di tipo wide o a byte singolo, per la destinazione di output e per il supporto per specificare l'ordine in cui i parametri vengono tilizzati nella stringa di formato.
Note
Le funzioni vprintf sono simili alle loro controparti come indicato nella seguente tabella.Tuttavia, ogni funzione vprintf accetta un puntatore a una lista di argomenti, mentre ciascuna delle funzioni corrispondenti accetta una lista di argomenti.
Queste funzioni consentono di formattare i dati in l'output verso le destinazioni come indicato di seguito.
Funzione |
Funzione della controparte |
Destinazione di output |
Convalida dei parametri |
Supporto del parametro posizionale |
---|---|---|---|---|
_vcprintf |
console |
Controllo dei valori null. |
no |
|
_vcwprintf |
console |
Controllo dei valori null. |
no |
|
vfprintf |
Stream |
Controllo dei valori null. |
no |
|
vfprintf_p |
Stream |
Controllo dei valori null e del formato valido. |
sì |
|
vfprintf_s |
Stream |
Controllo dei valori null e del formato valido. |
no |
|
vfwprintf |
Stream |
Controllo dei valori null. |
no |
|
vfwprintf_p |
Stream |
Controllo dei valori null e del formato valido. |
sì |
|
vfwprintf_s |
Stream |
Controllo dei valori null e del formato valido. |
no |
|
vprintf |
Stdout |
Controllo dei valori null. |
no |
|
vprintf_p |
Stdout |
Controllo dei valori null e del formato valido. |
sì |
|
vprintf_s |
Stdout |
Controllo dei valori null e del formato valido. |
no |
|
vwprintf |
Stdout |
Controllo dei valori null. |
no |
|
vwprintf_p |
Stdout |
Controllo dei valori null e del formato valido. |
sì |
|
vwprintf_s |
Stdout |
Controllo dei valori null e del formato valido. |
no |
|
vsprintf |
memoria a cui punta il buffer |
Controllo dei valori null. |
no |
|
vsprintf_p |
memoria a cui punta il buffer |
Controllo dei valori null e del formato valido. |
sì |
|
vsprintf_s |
memoria a cui punta il buffer |
Controllo dei valori null e del formato valido. |
no |
|
vswprintf |
memoria a cui punta il buffer |
Controllo dei valori null. |
no |
|
vswprintf_p |
memoria a cui punta il buffer |
Controllo dei valori null e del formato valido. |
sì |
|
vswprintf_s |
memoria a cui punta il buffer |
Controllo dei valori null e del formato valido. |
no |
|
_vscprintf |
memoria a cui punta il buffer |
Controllo dei valori null. |
no |
|
_vscwprintf |
memoria a cui punta il buffer |
Controllo dei valori null. |
no |
|
_vsnprintf |
memoria a cui punta il buffer |
Controllo dei valori null. |
no |
|
_vsnwprintf |
memoria a cui punta il buffer |
Controllo dei valori null. |
no |
L'argomento argptr è di tipo va_list, definito in VARARGS.H e in STDARG.H.La variabile argptr deve essere inizializzata da va_start, e può essere reinizializzata da chiamate successive di va_arg; argptr quindi punterà all'inizio di un elenco di argomenti in cui vengono convertiti e trasmessi in output in base alle specifiche corrispondenti nell'argomento formato.formato ha la stessa forma e la stessa funzione dell'argomento formato di printf.Nessuna 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 vsprintf nel fatto che non scrive più di count bytes nel buffer.
Le versioni di queste funzioni con l'infisso w nel nome sono versioni a caratteri wide delle corrispondenti funzioni senza l'infisso w; in ognuna di queste funzioni a caratteri di tipo wide, il buffer e il formato sono stringhe di caratteri di tipo wide.Ogni altra funzione a caratteri di tipo wide si comporta in modo identico alla funzione corrispondente di SBCS.
Le versioni di queste funzioni con suffissi _s e _p sono le versioni più sicure.Queste versioni convalidano le stringhe di formato e generano un'eccezione se la stringa di formato non è ben formata (ad esempio se vengono utilizzati caratteri di formattazione non validi).
Le versioni di queste funzioni con il suffisso _p consentono di specificare l'ordine in cui gli argomenti forniti vengono sostituiti nella stringa di formato.Per ulteriori informazioni, vedere parametri posizionali di printf_p.
Per vsprintf, vswprintf, _vsnprintf e _vsnwprintf, se si verifica una copia tra stringhe che si sovrappongono, il comportamento non è definito.
Nota sulla sicurezza |
---|
Assicurarsi che formato non sia una stringa definita dall'utente.Per ulteriori informazioni, vedere Evitare sovraccarichi del buffer.Se si usano le versioni sicure di queste funzioni (uno dei suffissi _p o _s ), una stringa di formato fornita dall'utente potrebbe generare un'eccezione di parametro non valido se la stringa fornita dall'utente contiene caratteri di formattazione non validi. |
Vedere anche
Riferimenti
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l