_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l
Formatta e stampa nella console e supporta parametri posizionali nella stringa di formato.
Importante
Questa API non può essere utilizzata nelle applicazioni che vengono eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.
int _cprintf_p(
const char * format [,
argument] ...
);
int _cprintf_p_l(
const char * format,
locale_t locale [,
argument] ...
);
int _cwprintf_p(
const wchar * format [,
argument] ...
);
int _cwprintf_p_l(
const wchar * format,
locale_t locale [,
argument] ...
);
Parametri
format
Stringa di controllo del formato.argument
Parametri facoltativi.locale
Impostazioni locali da utilizzare.
Valore restituito
Il numero di caratteri stampati o un valore negativo se si verifica un errore.
Note
Queste funzioni formattano e stampano una serie di caratteri e valori direttamente sulla console, utilizzando le funzioni _putch e _putwch per i caratteri di output. Ogni funzione argument (se presente) viene convertita e restituita in base al formato specificato in format. Il formato ha lo stesso modulo e funziona come il parametro format per la funzione printf_p. La differenza tra _cprintf_p e cprintf_s è che _cprintf_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.
A differenza delle funzioni fprintf_p, printf_p e sprintf_p, né _cprintf_p né _cwprintf_p convertono nell'output combinazioni di caratteri di avanzamento in caratteri di ritorno a capo (CR-LE). Una differenza importante è che _cwprintf_p visualizza i caratteri Unicode quando si utilizza Windows NT. A differenza di _cprintf_p, _cwprintf_p utilizza le impostazioni locali correnti della console.
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 le impostazioni locali correnti.
Nota sulla sicurezza |
---|
Assicurarsi che format non sia una stringa definita dall'utente. |
Inoltre, come _cprintf_s e _cwprintf_s, convalidano il puntatore di input e la stringa di formato. Se format o argument sono NULL, o 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 su testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcprintf_p |
_cprintf_p |
_cprintf_p |
_cwprintf_p |
_tcprintf_p_l |
_cprintf_p_l |
_cprintf_p_l |
_cwprintf_p_l |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_cprintf_p,_cprintf_p_l |
<conio.h> |
_cwprintf_p,_cwprintf_p_l |
<conio.h> |
Per ulteriori informazioni di compatibilità, vedere Compatibilità.
Esempio
// crt_cprintf_p.c
// This program displays some variables to the console
// using the _cprintf_p function.
#include <conio.h>
int main( void )
{
int i = -16,
h = 29;
unsigned u = 62511;
char c = 'A';
char s[] = "Test";
// Note that console output does not translate
// \n as standard output does. Use \r\n instead.
_cprintf_p( "%2$d %1$.4x %3$u %4$c %5$s\r\n",
h, i, u, c, s );
}
Vedere anche
Riferimenti
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
_cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l
_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l
fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l
printf_s, _printf_s_l, wprintf_s, _wprintf_s_l
_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l
_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l
_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
Parametri posizionali printf_p
Parametri posizionali printf_p
Sintassi per la specifica del formato: funzioni printf wprintf