vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l
Scrive l'output formattato utilizzando un puntatore a un elenco di argomenti. Queste versioni di vprintf, _vprintf_l, vwprintf, _vwprintf_l contengono i miglioramenti della sicurezza come descritto in Funzionalità di sicurezza in CRT.
int vprintf_s(
const char *format,
va_list argptr
);
int _vprintf_s_l(
const char *format,
locale_t locale,
va_list argptr
);
int vwprintf_s(
const wchar_t *format,
va_list argptr
);
int _vwprintf_s_l(
const wchar_t *format,
locale_t locale,
va_list argptr
);
Parametri
format
Specifica di formato,argptr
Puntatore all'elenco di argomenti.locale
Impostazioni locali da utilizzare.
Per ulteriori informazioni, vedere Specifiche di formato.
Valore restituito
vprintf_s e vwprintf_s restituiscono il numero di caratteri scritti, escluso il carattere di terminazione null, o un valore negativo se un errore di output viene visualizzato. Se format è un puntatore null, o se la stringa di formato contiene caratteri di formattazione non validi, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione restituisce -1 e imposta errno a EINVAL.
Per ulteriori informazioni su questi, e altri, codici di errore vedere _doserrno, errno, _sys_errlist, and _sys_nerr .
Note
Ognuna di queste funzioni accetta un puntatore a un elenco di argomenti, quindi formatta e scrive i relativi dati su stdout.
Le versioni sicure di queste funzioni differiscono solo da vprintf e vwprintf in quanto le versioni sicure controllano che la stringa di formato non contenga caratteri di formattazione validi.
vwprintf_s è la versione a caratteri estesi di vprintf_s; se il flusso viene aperto in modalità ANSI, le due funzioni si comportano in modo identico. vprintf_s non supporta attualmente l'output in un flusso UNICODE.
Le versioni di queste funzioni con il suffisso _l sono identiche ad eccezione per il fatto che utilizzano il parametro delle impostazioni locali passato in ingresso invece di utilizzare quelle del thread corrente.
Nota sulla sicurezza |
---|
Assicurarsi che format non sia una stringa definita dall'utente.Per ulteriori informazioni, vedere Evitare sovraccarichi del buffer. |
Mapping di routine su testo generico
Routine TCHAR.H |
_UNICODE & _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_vtprintf_s |
vprintf_s |
vprintf_s |
vwprintf_s |
_vtprintf_s_l |
_vprintf_s_l |
_vprintf_s_l |
_vwprintf_s_l |
Requisiti
Routine |
Intestazione obbligatoria |
Intestazioni facoltative |
---|---|---|
vprintf_s, _vprintf_s_l |
<stdio.h> e <stdarg.h> |
<varargs.h>* |
vwprintf_s, _vwprintf_s_l |
<stdio.h> o <wchar.h>, e <stdarg.h> |
<varargs.h>* |
* Necessario per la compatibilità con UNIX V.
La console non è supportata nelle applicazioni Windows Store. Gli handle del flusso standard associati alla console,stdin, stdout e stderr, devono essere reindirizzati prima di poter utilizzare le funzioni di runtime del linguaggio C nelle applicazioni Windows Store. Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.
Equivalente .NET Framework
Vedere anche
Riferimenti
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l