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