_vcprintf_p, _vcprintf_p_l, _vcwprintf_p, _vcwprintf_p_l
Scrive l'output formattato nella console utilizzando un puntatore ad un elenco di argomenti e supporta i parametri posizionali nella stringa di formato.
Importante
Questa API non può essere utilizzata nelle applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.
int _vcprintf_p(
const char* format,
va_list argptr
);
int _vcprintf_p_l(
const char* format,
locale_t locale,
va_list argptr
);
int _vcwprintf_p(
const wchar_t* format,
va_list argptr
);
int _vcwprintf_p_l(
const wchar_t* format,
locale_t locale,
va_list argptr
);
Parametri
format
Specifica di formato.argptr
Un puntatore ad una lista di argomenti.locale
Impostazioni locali da utilizzare.
Per ulteriori informazioni, vedere Sintassi per la specifica del formato: funzioni printf wprintf.
Valore restituito
Il numero di caratteri che vengono scritti, o un valore negativo se si verifica un errore di output. Se format è un puntatore a null, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, errno è impostato su EINVAL e viene restituito -1.
Note
Ognuna di queste funzioni accetta un puntatore ad un elenco di argomenti poi utilizza la funzione _putch per formattare e scrivere i dati specificati nella console. (_vcwprintf_p utilizza l'oggetto _putwch anziché _putch. _vcwprintf_p è la versione a caratteri di tipo "wide" di _vcprintf_p. Accetta una stringa di caratteri estesi come argomento.)
Le versioni di queste funzioni che hanno il suffisso _l sono identiche ad eccezione per il fatto che utilizzano il parametro delle impostazioni locali passato al posto di quelle del thread corrente.
Ogni funzione argument (se presente) viene convertita e restituita in base al formato specificato in format. La specifica di formato supporta i parametri posizionali in modo da poter specificare l'ordine in cui gli argomenti vengono utilizzati nella stringa di formato. Per ulteriori informazioni, vedere Parametri posizionali printf_p.
Queste funzioni non traducono i caratteri di avanzamento di riga in caratteri di ritorno a capo ed avanzamento di riga (CR-LF) quando vengono restituiti.
![]() |
---|
Assicurarsi che format non sia una stringa definita dall'utente.Per ulteriori informazioni, vedere Evitare sovraccarichi del buffer. |
Queste funzioni convalidano il puntatore di input e la stringa di formato. Se format o argument è NULL, o se la stringa di formato contiene caratteri di formattazione non validi, queste funzioni invocano il gestore di parametri invalidi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione restituisce -1 e imposta errno su EINVAL.
Mapping di routine di testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_vtcprintf_p |
_vcprintf_p |
_vcprintf_p |
_vcwprintf_p |
_vtcprintf_p_l |
_vcprintf_p_l |
_vcprintf_p_l |
_vcwprintf_p_l |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_vcprintf_p, _vcprintf_p_l |
<conio.h> e <stdarg.h> |
_vcwprintf_p, _vcwprintf_p_l |
<conio.h> e <stdarg.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.
Esempio
// crt_vcprintf_p.c
// compile with: /c
#include <conio.h>
#include <stdarg.h>
// An error formatting function that's used to print to the console.
int eprintf(const char* format, ...)
{
va_list args;
va_start(args, format);
return _vcprintf_p(format, args);
}
int main()
{
int n = eprintf("parameter 2 = %2$d; parameter 1 = %1$s\r\n",
"one", 222);
_cprintf_s("%d characters printed\r\n");
}
Vedere anche
Riferimenti
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l