Funzioni vprintf

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 per il tipo di convalida dei parametri eseguita, per l'uso di stringhe di caratteri di tipo wide o a byte singolo, per la destinazione di output e per il modo in cui viene specificato l'ordine in cui i parametri 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 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 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.
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 buffer Controllo dei valori null. no
vsprintf_p sprintf_p memoria a cui punta buffer Controllo dei valori null e del formato valido.
vsprintf_s sprintf_s memoria a cui punta buffer Controllo dei valori null e del formato valido. no
vswprintf swprintf memoria a cui punta buffer Controllo dei valori null. no
vswprintf_p swprintf_p memoria a cui punta buffer Controllo dei valori null e del formato valido.
vswprintf_s swprintf_s memoria a cui punta buffer Controllo dei valori null e del formato valido. no
_vscprintf _vscprintf memoria a cui punta buffer Controllo dei valori null. no
_vscwprintf _vscwprintf memoria a cui punta buffer Controllo dei valori null. no
_vsnprintf _snprintf memoria a cui punta buffer Controllo dei valori null. no
_vsnwprintf _snwprintf memoria a cui punta 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 che vengono convertiti e trasmessi in output in base alle specifiche corrispondenti nell'argomento format. format ha la stessa forma e la stessa funzione dell'argomento format di printf. Nessuna di queste funzioni chiama 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 in quanto non scrive più di count byte in 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, buffer e format sono stringhe a caratteri wide. Ogni altra funzione a caratteri wide si comporta in modo identico alla funzione SBCS corrispondente.

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 usati 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 altre informazioni, vedere printf_p Positional Parameters (Parametri posizionali printf_p).

Per vsprintf, vswprintf, _vsnprintf e _vsnwprintf, se si verifica una copia 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 sicure di queste funzioni, con il suffisso _s o _p, e la stringa di formato specificata dall'utente contiene caratteri di formattazione non validi, potrebbe verificarsi un'eccezione di parametro non valido.

Vedere 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