Freigeben über


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

HinweisHinweis

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.)

Siehe auch

Referenz

C++-Literale