Condividi tramite


Costanti carattere C++

Le costanti carattere sono uno o più membri di set di caratteri di origine di base, il set di caratteri in cui un programma viene scritto, racchiuso tra virgolette semplici (').Vengono utilizzati per rappresentare i caratteri in set di caratteri di base di esecuzione, il set di caratteri nel computer in cui il programma.

Specifici di Microsoft

Per il compilatore C/C++ Microsoft, i set di caratteri di esecuzione e di origine sono entrambe le ASCII.

Il set di caratteri di origine di base è composto da 96 caratteri: lo spazio; i caratteri di controllo che rappresentano la tabulazione orizzontale, la tabulazione verticale, avanzamento pagina e la nuova riga; e di seguito 91 caratteri:

abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLMNOPQRSTUVWXYZ

0123456789

_{}] [# () <>%: ;?. *+-/^&|~! =, \„ “

Il set di caratteri di base di esecuzione è costituita da caratteri in caratteri di origine di base impostati e anche dei caratteri di controllo che rappresentano l'avviso, lo spazio finale, il ritorno a capo e null.

Microsoft FINALE specifico

Esistono tre tipi di costanti carattere:

  • Costanti carattere normale

  • costanti di Multicharacter

  • Costanti a caratteri estesi

[!NOTA]

Utilizzare le costanti a caratteri estesi anziché le costanti di multicharacter per garantire la portabilità.

Le costanti carattere sono specificate come uno o più caratteri racchiusi tra virgolette semplici.Di seguito è riportato un esempio:

char ch = 'x';          // Specify normal character constant.
int mbch = 'ab';        // Specify system-dependent
                        //  multicharacter constant.
wchar_t wcch = L'ab';   // Specify wide-character constant.

si noti che mbch è di tipo int.Se è stato dichiarato come tipo char, il secondo byte non viene mantenuto.Una costante di multicharacter dispone di quattro caratteri significativi, specificare più di quattro generato un messaggio di errore.

I caratteri in una costante carattere possono essere tutti i caratteri grafici nel set di caratteri di origine, ad eccezione della nuova riga, la barra rovesciata \, la virgoletta singola 'e le virgolette “, o possono essere specificati utilizzando una sequenza di escape.Esistono tre tipi di sequenze di escape: semplice, ottale e sequenze di escape esadecimali.

Le sequenze di escape semplici possono essere uno dei seguenti valori:

\' \" \? \\
\a \b \f \n \r \t \v

Una sequenza di escape ottale è una barra rovesciata seguita da una sequenza di fino a 3 cifre ottali.

Una sequenza di escape esadecimale è una barra rovesciata, seguita dal carattere x, seguito da una sequenza di cifre esadecimali.

Microsoft C++ supporta il normale, il multicharacter e le costanti a caratteri estesi.Utilizzare le costanti a caratteri estesi per specificare i membri del set di caratteri esteso di esecuzione (ad esempio, per supportare un'applicazione internazionale).Le costanti carattere normale dispongono del tipo char, le costanti di multicharacter dispongono del tipo inte le costanti a caratteri estesi dispongono del tipo wchar_t.(Il tipo wchar_t viene definito nei file di inclusione standard STDDEF.H, STDLIB.H e STRING.H.Le funzioni a caratteri estesi, tuttavia, sono prototipo completo solo in STDLIB.H).

L'unica differenza nella specifica tra le costanti normali e a caratteri estesi è che le costanti a caratteri estesi sono preceduti dalla lettera L.Di seguito è riportato un esempio:

char schar = 'x';               // Normal character constant
wchar_t wchar = L'\x8119';    // Wide-character constant

Nella tabella seguente sono illustrati i caratteri riservati o nongraphic che sono sistema dipendente o non valido nelle costanti carattere.Questi caratteri devono essere rappresentati con le sequenze di escape.

C++ riservato o caratteri di Nongraphic

Carattere

ASCII

Rappresentazione

ASCII

Valore

sequenza di escape

Nuova riga

ARGOMENTI NL (LF)

10 o 0x0a

\n

Tabulazione orizzontale

GH

9

\t

Tabulazione verticale

VT

11 o 0x0b

\v

Backspace

le BS

8

\b

Ritorno a capo

CR

13 o 0x0d

\r

Avanzamento carta

FF

12 o pertanto

\f

Avviso

BEL

7

\a

Barra rovesciata

\

92 o 0x5c

\\

punto interrogativo

?

63 o 0x3f

\?

Virgoletta singola

'

39 o 0x27

\'

Virgoletta doppia

34 o 0x22

\"

numero ottale

ooo

\ooo

numero esadecimale

hhh

\ xhhh

carattere null

NUL

0

\0

Se il carattere che segue la barra rovesciata non specifica una sequenza di escape valida, il risultato è implementazione definita.In Microsoft C++, il carattere che segue la barra rovesciata viene preso letteralmente, ad esempio se il carattere di escape non fosse presente e di Livello 1 (“sequenza di caratteri di escape sconosciuta„) viene pubblicato.

Sequenze di escape ottali, specificate nel formato \ooo, costituito da una barra rovesciata e di un, due, o tre caratteri ottali.Sequenze di escape esadecimali, specificate nel formato \ xhhh, che contenga caratteri \x seguito da una sequenza di cifre esadecimali.A differenza delle costanti ottali di escape, non esiste un limite per il numero di cifre esadecimali in una sequenza di escape.

Le sequenze di escape ottali sono terminate dal primo carattere che non è una cifra ottale, o quando tre caratteri vengono visualizzati.Di seguito è riportato un esempio:

wchar_t och = L'\076a';  // Sequence terminates at a
char    ch = '\233';     // Sequence terminates after 3 characters

Analogamente, le sequenze di escape esadecimali terminano al primo carattere che non è una cifra esadecimale.Poiché le cifre esadecimali sono incluse le lettere a in f (e A in F), assicurarsi che la sequenza di escape termini la cifra desiderata.

Poiché la virgoletta singola (') include le costanti carattere, utilizzare la sequenza di escape \' per rappresentare le virgolette singole inclusi.Le virgolette doppie (") può essere rappresentato senza una sequenza di escape.Il carattere barra rovesciata (\) è un carattere di continuazione di riga quando viene posizionato alla fine di una riga.Se si desidera che un carattere barra rovesciata per la visualizzazione all'interno di una costante carattere, è necessario barre rovesciate di tipo due in una riga (\\).(Vedere fasi di conversione in Riferimento del preprocessore per ulteriori informazioni sulla continuazione di riga.)

Vedere anche

Riferimenti

Valori letterali C++