Condividi tramite


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

Nota sulla sicurezzaNota sulla sicurezza

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

I/O console e porta

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

va_arg, va_copy, va_end, va_start

Parametri posizionali printf_p