_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
Formatta e stampa nella console. Queste versioni di _cprintf, _cprintf_l, _cwprintf, _cwprintf_l contengono i miglioramenti della sicurezza come descritto in Funzionalità di sicurezza in CRT.
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_s(
const char * format [,
argument] ...
);
int _cprintf_s_l(
const char * format,
locale_t locale [,
argument] ...
);
int _cwprintf_s(
const wchar * format [,
argument] ...
);
int _cwprintf_s_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 da stampare.
Note
Queste funzioni formattano e stampano una serie di caratteri e valori direttamente sulla console, utilizzando la funzione _putch (_putwch per _cwprintf_s) per i caratteri di output. Ogni funzione argument (se presente) viene convertita e restituita in base al formato specificato in format. Il formato con lo stesso form e funzione del parametro format per la funzione printf_s. A differenza fprintf_s, printf_s e delle funzioni sprintf_s, né _cprintf_s e né _cwprintf_s convertono nell'output combinazioni di caratteri di avanzamento in caratteri di ritorno a capo (CR-LE).
Una differenza importante è che _cwprintf_s visualizza i caratteri Unicode quando si utilizza Windows NT. A differenza di _cprintf_s, _cwprintf_s 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. |
Come per le versioni non sicure (vedere, _cprintf, _cprintf_l, _cwprintf, _cwprintf_l), queste funzioni convalidano i relativi parametri e richiamano il gestore di parametro non valido, come descritto in Convalida dei parametri, se format è un puntatore a null. Queste funzioni differiscono dalle versioni non sicure nel fatto che la stringa stessa viene convalidata. Se dovessero esserci specificatoti sconosciuti o male formattati, queste funzioni richiamano il gestore di parametro non valido. In tutti i casi, se l'esecuzione può continuare, la funzione restituisce -1 e imposta errno a EINVAL.
Mapping di routine su testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcprintf_s |
_cprintf_s |
_cprintf_s |
_cwprintf_s |
_tcprintf_s_l |
_cprintf_s_l |
_cprintf_s_l |
_cwprintf_s_l |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_cprintf_s,_cprintf_s_l |
<conio.h> |
_cwprintf_s, _cwprintf_s_l |
<conio.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.
Librerie
Tutte le versioni delle Librerie di runtime C.
Esempio
// crt_cprintf_s.c
// compile with: /c
// This program displays some variables to the console.
#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_s( "%d %.4x %u %c %s\r\n", i, h, u, c, s );
}
Output
-16 001d 62511 A Test
Vedere anche
Riferimenti
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
printf_s, _printf_s_l, wprintf_s, _wprintf_s_l
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l
vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l
Sintassi per la specifica del formato: funzioni printf wprintf