Qual è la differenza tra% c e% C in printf?
-
10-07-2019 - |
Domanda
Posso trovare solo riferimenti per piccoli c. Presumo che la C maiuscola sia per Unicode, ma non ne sono sicuro. Per numeri inferiori, entrambi generano lo stesso carattere.
Soluzione
Da MSDN:
% c
type: int or wint_t
Se utilizzato con le funzioni printf, specifica un carattere a byte singolo; se utilizzato con le funzioni wprintf, specifica un carattere largo.
% C
type: int or wint_t
Se utilizzato con printf funzioni, specifica un carattere ampio; se utilizzato con le funzioni wprintf, specifica un carattere a byte singolo.
ulteriori informazioni sugli identificatori di formato qui
Altri suggerimenti
Da MSDN
% c
Se utilizzato con le funzioni printf, specifica un carattere a byte singolo; se utilizzato con le funzioni di wprintf, specifica un carattere largo.
% C
Se utilizzato con le funzioni printf, specifica un carattere largo; se utilizzato con le funzioni wprintf, specifica un carattere a byte singolo.
Nota che% C non è standard. La conversione standard per i personaggi è:
- % c è usato per un
int
.printf
lo ha emesso come se fosse uncarattere senza segno
.wprintf
genera il risultato della conversione inwchar_t
dibtowc
. - % lc è usato per un
wint_t
.printf
genera il risultato della conversione in una stringa multibyte diwcrtomb
.wprintf
lo ha emesso come se fosse unwchar_t
.