_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

Stampa l'output formattato nel flusso di output standard, con la possibilità di specificare l'ordine in cui i parametri vengono utilizzati nella stringa di formato.

int _printf_p(
   const char *format [,
   argument]... 
);
int _printf_p_l(
   const char *format,
   locale_t locale [,
   argument]... 
);
int _wprintf_p(
   const wchar_t *format [,
   argument]... 
);
int _wprintf_p_l(
   const wchar_t *format,
   locale_t locale [,
   argument]... 
);

Parametri

  • format
    Controllo formato.

  • argument
    Argomenti facoltativi.

  • locale
    Le impostazioni locali da utilizzare.

Valore restituito

Restituisce il numero di caratteri stampati o un valore negativo se si verifica un errore.

Note

La funzione di _printf_pformatta e visualizza una stringa di caratteri e di valori nel flusso di output standard, stdout.Se gli argomenti seguono la stringa format, la stringa format deve contenere le specifiche che determinano il formato di output per gli argomenti (vedere parametri posizionali di printf_p).

La differenza tra _printf_pe printf_sè che _printf_psupporta i parametri posizionali, che consente di specificare l'ordine in cui gli argomenti vengono utilizzati nella stringa di formato.Per ulteriori informazioni, vedere parametri posizionali di printf_p.

_wprintf_p è la versione a caratteri estesi di _printf_p; si comportano in modo identico se il flusso viene aperto in modalità ANSI._printf_p non supporta attualmente l'output in un flusso UNICODE.

Le versioni di queste funzioni con il suffisso _l sono identiche ad eccezione che utilizzano il parametro delle impostazioni locali passato in ingresso invece di utilizzare quelle del thread corrente.

Nota sulla sicurezzaNota sulla sicurezza

Assicurarsi che format non sia una stringa definita dall'utente.

Se format o argument sono NULL, o la stringa di formato contiene caratteri di formattazione non validi, _printf_p e le funzioni _wprintf_p richiamano un gestore di parametro non valido, come descritto in Convalida dei parametri.Se l'esecuzione può continuare, la funzione restituisce -1 ed imposta errno a EINVAL.

Mapping di routine a Testo generico

Routine Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_tprintf_p

_printf_p

_printf_p

_wprintf_p

_tprintf_p_l

_printf_p_l

_printf_p_l

_wprintf_p_l

Requisiti

Routine

Intestazione obbligatoria

_printf_p, _printf_p_l

<stdio.h>

_wprintf_p, _wprintf_p_l

<stdio.h> o <wchar.h>

La console non è supportata nelle applicazioni di Windows Store.L'handle standard del flusso associate alla console, stdin, stdoute stderr, devono essere reindirizzati prima di funzioni di runtime del linguaggio C possono essere utilizzate nelle applicazioni di Windows Store.Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Esempio

// crt_printf_p.c
// This program uses the _printf_p and _wprintf_p
// functions to choose the order in which parameters
// are used.

#include <stdio.h>

int main( void )
{
   // Positional arguments 
   _printf_p( "Specifying the order: %2$s %3$s %1$s %4$s %5$s.\n",
              "little", "I'm", "a", "tea", "pot");

   // Resume arguments
   _wprintf_p( L"Reusing arguments: %1$d %1$d %1$d %1$d\n", 10);

   // Width argument
   _printf_p("Width specifiers: %1$*2$s", "Hello\n", 10);
}
  
  

Equivalente .NET Framework

Vedere anche

Riferimenti

Supporto per le operazioni in virgola mobile

Flusso I/O

Impostazioni locali

fopen, _wfopen

_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l

fprintf, _fprintf_l, fwprintf, _fwprintf_l

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

scanf, _scanf_l, wscanf, _wscanf_l

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

funzioni di vprintf