Condividi tramite


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.

_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

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

_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.

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.

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.

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.

vwprintf_s

wprintf_s

Stdout

Controllo dei valori null e del formato valido.

no

vsprintf

sprintf

memoria a cui punta il buffer

Controllo dei valori null.

no

vsprintf_p

sprintf_p

memoria a cui punta il buffer

Controllo dei valori null e del formato valido.

vsprintf_s

sprintf_s

memoria a cui punta il buffer

Controllo dei valori null e del formato valido.

no

vswprintf

swprintf

memoria a cui punta il buffer

Controllo dei valori null.

no

vswprintf_p

swprintf_p

memoria a cui punta il buffer

Controllo dei valori null e del formato valido.

vswprintf_s

swprintf_s

memoria a cui punta il buffer

Controllo dei valori null e del formato valido.

no

_vscprintf

_vscprintf

memoria a cui punta il buffer

Controllo dei valori null.

no

_vscwprintf

_vscwprintf

memoria a cui punta il buffer

Controllo dei valori null.

no

_vsnprintf

_snprintf

memoria a cui punta il buffer

Controllo dei valori null.

no

_vsnwprintf

_snwprintf

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 sicurezzaNota 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

Flusso I/O

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