C++-Zeichenkonstanten
Zeichenkonstanten sind eine oder mehrere Member des grundlegenden Sources zeichensatzes, der Zeichensatz, in dem ein Programm geschrieben wird, eingeschlossen in einfache Anführungszeichen (').Sie werden verwendet, um Zeichen im Zeichensatz, der Ausführungszeichensatz grundlegendeDarstellung auf dem Computer, auf dem das Programm ausgeführt wird.
Microsoft-spezifisch
Für den Compiler Microsoft C/C++ handelt es sich um die Quelle und Ausführungszeichensätze sowohl ASCII.
Der Zeichensatz Quelle grundlegende besteht aus 96 Zeichen: Platz. Steuerzeichen, die die vertikale, Horizontaltabulatorzeichen Registerkarte Seitenvorschub und Zeilenvorschub darstellen. und die nächsten 91 Zeichen:
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
_(# [] {}) <>%: ?;. *+-/^&|~! = " \“ '
Der grundlegende Ausführungszeichensatz besteht die Zeichen in den grundlegenden festgelegten Quellspalten Zeichen sowie aus den Steuerzeichen, die Warnung, und NULL, Wagenrücklauf Rücktastenzeichen dar.
Microsoft ENDES bestimmten
Es gibt drei Arten von Zeichenkonstanten:
Normale Zeichenkonstanten
Multicharacter-Konstanten
Zeichenkonstanten
![]() |
---|
Zeichenkonstanten der anstelle multicharacter Konstanten, um die Portabilität sicherzustellen. |
Zeichenkonstanten sind als ein oder mehrere Zeichen angegeben, die in einfache Anführungszeichen eingeschlossen werden.Beispiele:
char ch = 'x'; // Specify normal character constant.
int mbch = 'ab'; // Specify system-dependent
// multicharacter constant.
wchar_t wcch = L'ab'; // Specify wide-character constant.
Beachten Sie, dass mbch vom Typ intist.Wenn es als Typ chardeklariert wurde, würde das zweite Byte nicht beibehalten.Eine Konstante multicharacter sinnvolle verfügt über vier Zeichen. Angabe mehr als vier generiert eine Fehlermeldung.
Zeichen innerhalb einer Zeichenkonstante sind möglicherweise alle Schriftzeichen Quellspalten im Zeichensatz umgekehrtem Schrägstrich, Zeilenumbruch, außer \ einfachem Anführungszeichen 'und „doppeltem Anführungszeichen, oder sie werden mit einer Escapesequenz angegeben werden.Es gibt drei Typen von Escapezeichen: einfacher, hexadezimale Escapesequenzen und oktale.
Einfache Escapezeichen sind möglicherweise einen der folgenden Schritte aus:
\' \" \? \\
\a \b \f \n \r \t \v
Eine oktale Escapesequenz ist ein umgekehrter Schrägstrich, der aus einer Sequenz von dem oktalen Zahlen bis 3.
Eine hexadezimale Escapesequenz ist ein umgekehrter Schrägstrich, gefolgt vom x Zeichen, gefolgt von einer Folge von hexadezimalen Ziffern.
Microsoft C++ unterstützt normal, multicharacter und Zeichenkonstanten.Verwenden von Zeichenkonstanten, um Member des erweiterten Ausführungszeichensatzes anzugeben (beispielsweise eine internationale Anwendung unterstützen.)Normale Zeichenkonstanten charTyp haben, verfügen multicharacter Konstanten und Zeichenkonstanten intTyp wchar_tTyp aufweisen.(Der Typ wchar_t wird in den includedateien STDDEF.H, und STDLIB.H definiert. STRING.H.Das Breitzeichen funktioniert, werden jedoch nur in STDLIB.H einen Prototyp) entwickelt wird.
Der einzige Unterschied in der Spezifikation zwischen den normalen und Zeichenkonstanten besteht darin, dass Zeichenkonstanten aus dem Buchstaben Lvorangestellt werden.Beispiele:
char schar = 'x'; // Normal character constant
wchar_t wchar = L'\x8119'; // Wide-character constant
In der folgenden Tabelle sind die reservierten oder nongraphic Zeichen an, die anlagenspezifisch oder innerhalb von Zeichenkonstanten nicht zulässig sind.Diese Zeichen sollten mit Escapesequenzen dargestellt werden.
C++ reservierten oder Nongraphic-Zeichen
Zeichen |
ASCII Darstellung |
ASCII Wert |
Escapesequenz |
---|---|---|---|
Zeilenumbruch |
NL (ZEILENVORSCHUB) |
0x0a oder 10 |
\n |
Horizontaler Tabulator |
HT |
9 |
\t |
Vertikaler Tabulator |
VT |
11 oder 0x0b |
\v |
Rückschritt |
BS |
8 |
\b |
Wagenrücklauf |
CR |
13 oder 0x0d |
\r |
Seitenvorschub |
FF |
0x0c oder 12 |
\f |
Warnung |
BEL |
7 |
\a |
Umgekehrter Schrägstrich |
\ |
92 oder 0x5c |
\\ |
Fragezeichen |
? |
63 oder 0x3f |
\? |
Einfaches Anführungszeichen |
' |
39 oder 0x27 |
\' |
Doppeltes Anführungszeichen |
" |
34 oder 0x22 |
\" |
Oktalzahl |
ooo |
— |
\ooo |
Hexadezimalzahl |
hhh |
— |
\ xhhh |
NULL-Zeichen |
NUL |
0 |
\0 |
Wenn es sich bei dem Zeichen, das dem umgekehrten Schrägstrich, keine gültige Escape-Sequenz angibt, ist das Ergebnis die vordefinierte Implementierung.In Microsoft C++ wird das Zeichen, das dem umgekehrten Schrägstrich, wörtlich übernommen, als wäre das Escapezeichen nicht vorhanden waren, und eine Warnung der Stufe 1 („Unbekannter Escapezeichen sequence“) wird ausgegeben.
Die dem oktalen Escapesequenzen angegeben, im Format \ooobestehen aus einem umgekehrten Schrägstrich ein, zwei oder drei dem oktalen Zeichen.Für hexadezimale Escapesequenzen angegeben, im Format \ xhhh bestehen aus den Zeichen \x , die aus einer Folge von Hexadezimalziffern folgt.Im Gegensatz zu oktale Escape konstanten gibt es keine Beschränkung für die Anzahl der Ziffern in einer Escapesequenz.
Oktale Escapesequenzen werden durch das erste Zeichen endet, das keine oktale Ziffer ist oder wenn drei Zeichen angezeigt werden.Beispiele:
wchar_t och = L'\076a'; // Sequence terminates at a
char ch = '\233'; // Sequence terminates after 3 characters
Ebenso wird hexadezimale Escapesequenzen am ersten Zeichen, das kein Hexadezimalziffer ist.Da die Buchstaben af von Hexadezimalziffern (und A von F) enthalten, vergewissern Sie sich, dass die Escapesequenz an der gewünschten Stelle beendet wird.
Da das einfache Anführungszeichen (') Zeichenkonstanten enthält, verwenden Sie die Escapesequenz \' , um eingeschlossene einfache Anführungszeichen verwendet.Das doppelte Anführungszeichen (") kann ohne eine Escapesequenz dargestellt werden.Der umgekehrte Schrägstrich (\) ist ein Zeilenfortsetzungszeichen, wenn er am Ende einer Zeile platziert wird.Wenn Sie einen umgekehrten Schrägstrich in einer Zeichenkonstante werden soll, müssen Sie zwei umgekehrte schrägstriche Typ in einer Zeile (\\).(Siehe Phasen der Übersetzung in der Präprozessorreferenz Informationen zu Zeilenfortsetzung.)