Condividi tramite


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

I/O console e porta

_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