Condividi tramite


_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

Stampa l'output formattato nel flusso di output standard e consente 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
    Impostazioni locali da utilizzare.

Valore restituito

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

Note

La funzione _printf_p formatta e stampa una serie 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 printf_p).

La differenza tra _printf_p e printf_s è che _printf_p supporta i parametri posizionali, che consentono di specificare l'ordine in cui gli argomenti vengono utilizzati nella stringa di formato. Per ulteriori informazioni, vedere Parametri posizionali 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 per il fatto 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 e imposta errno su EINVAL.

Mapping di routine su 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 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à.

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 a virgola mobile

I/O di flusso

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 vprintf