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