_cprintf
, _cprintf_l
, _cwprintf
, _cwprintf_l
Formatta e stampa nella console. Sono disponibili versioni più sicure; vedere _cprintf_s
, _cprintf_s_l
, _cwprintf_s
, _cwprintf_s_l
.
Importante
Non è possibile usare questa API nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).
Sintassi
int _cprintf(
const char * format [, argument_list]
);
int _cprintf_l(
const char * format,
_locale_t locale [, argument_list]
);
int _cwprintf(
const wchar * format [, argument_list]
);
int _cwprintf_l(
const wchar * format,
_locale_t locale [, argument_list]
);
Parametri
format
Stringa di controllo del formato.
argument_list
Parametri facoltativi per la stringa di formato.
locale
Impostazioni locali da usare.
Valore restituito
Numero di caratteri stampati.
Osservazioni:
Queste funzioni formattano e stampano una serie di caratteri e valori direttamente sulla console, usando la funzione _putch
(_putwch
per _cwprintf
) per i caratteri di output. Ogni argomento in argument_list
(se presente) viene convertito e restituito in base alla specifica di formato corrispondente in format
. L'argomento format
usa la sintassi della specifica del formato per le funzioni printf e wprintf. A differenza delle fprintf
funzioni _cprintf
, printf
e sprintf
e _cwprintf
non convertono i caratteri del feed di riga in combinazioni di ritorno a capo (CR-LF) durante l'output.
Una distinzione importante è che _cwprintf
visualizza i caratteri Unicode quando vengono usati in Windows. A differenza di _cprintf
, _cwprintf
utilizza le impostazioni locali correnti della console.
Le versioni di queste funzioni con il suffisso _l
sono identiche ad eccezione per il fatto che usano il parametro delle impostazioni locali passato al posto di quelle correnti.
_cprintf
convalida il parametro format
. Se format
è un puntatore Null, la funzione richiama il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione restituisce -1 e imposta errno
su EINVAL
.
Importante
Assicurarsi che format
non sia una stringa definita dall'utente.
A partire da Windows 10 versione 2004 (build 19041), la printf
famiglia di funzioni stampa esattamente numeri a virgola mobile rappresentabili in base alle regole I edizione Enterprise E 754 per l'arrotondamento. Nelle versioni precedenti di Windows, i numeri a virgola mobile che terminano in '5' verrebbero sempre arrotondati. I edizione Enterprise E 754 indica che devono arrotondare alla cifra pari più vicina (nota anche come "Arrotondamento del banchiere"). Ad esempio, sia printf("%1.0f", 1.5)
che printf("%1.0f", 2.5)
devono essere arrotondati a 2. In precedenza, 1,5 arrotonderebbe a 2 e 2,5 arrotonderebbe a 3. Questa modifica influisce solo sui numeri rappresentabili esattamente. Ad esempio, 2.35 (che, se rappresentato in memoria, è più vicino a 2,350000000000000008) continua a arrotondare fino a 2,4. L'arrotondamento eseguito da queste funzioni ora rispetta anche la modalità di arrotondamento a virgola mobile impostata da fesetround
. In precedenza, l'arrotondamento ha sempre scelto FE_TONEAREST
il comportamento. Questa modifica interessa solo i programmi compilati con Visual Studio 2019 versione 16.2 e successive. Per usare il comportamento di arrotondamento a virgola mobile legacy, collegarsi a legacy_stdio_float_rounding.obj
.
Mapping di routine di testo generico
Routine Tchar.h | _UNICODE e _MBCS non definito |
_MBCS Definito |
_UNICODE Definito |
---|---|---|---|
_tcprintf |
_cprintf |
_cprintf |
_cwprintf |
_tcprintf_l |
_cprintf_l |
_cprintf_l |
_cwprintf_l |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_cprintf , _cprintf_l |
<conio.h> |
_cwprintf , _cwprintf_l |
<conio.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// crt_cprintf.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( "%d %.4x %u %c %s\r\n", i, h, u, c, s );
}
-16 001d 62511 A Test
Vedi anche
I/O della console e della porta
_cscanf
, _cscanf_l
, _cwscanf
, _cwscanf_l
fprintf
, _fprintf_l
, fwprintf
, _fwprintf_l
printf
, _printf_l
, wprintf
, _wprintf_l
sprintf
, _sprintf_l
, swprintf
, _swprintf_l
, __swprintf_l
vfprintf
, _vfprintf_l
, vfwprintf
, _vfwprintf_l
_cprintf_s
, _cprintf_s_l
, _cwprintf_s
, _cwprintf_s_l
_cprintf_p
, _cprintf_p_l
, _cwprintf_p
, _cwprintf_p_l
Sintassi della specifica del formato: printf
e wprintf
funzioni
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per