Sdílet prostřednictvím


Znak C++ konstanty

Znak konstanty jsou jeden nebo více členů základní zdroj znaková sada, sada znaků v, což je program zapsán, uzavřený v apostrofech (').Používají se k reprezentaci znaků v spuštění základní znakové sady, znakovou sadu počítače, kde se spustí program.

Konkrétní společnosti Microsoft

Microsoft C/C++ kompilátor, zdroje a provádění znaku sady jsou obě ASCII.

Základní zdroj znaková sada se skládá z 96 znaků: znak mezery; řídicí znaky, které představují kartu vodorovné, svislé kartu, formfeed a nového řádku; a 91 následující znaky:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

ABCDEFGHIJKLMNOPQRSTUVWXYZ

0123456789

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

Základní provedení znaková sada se skládá z znaky v sadě znaků základní zdroje a řízení znaky, které představují výstrahy, backspace, návrat vozíku a null.

Konec konkrétní společnosti Microsoft

Existují tři druhy znak konstanty:

  • Běžný znak konstanty

  • Konstanty multicharacter

  • Konstanty celého znaku

[!POZNÁMKA]

Pomocí znaku wide konstanty namísto konstanty multicharacter zajistit přenositelnost.

Znak konstanty jsou určeny jako jeden nebo více znaků, které jsou uzavřeny v jednoduchých uvozovkách.Příklad:

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

Všimněte si, že mbch je typu int.Pokud bylo deklarováno jako typ char, druhý by nezachovají.Multicharacter konstanta má čtyři smysluplné znaky; zadání více než čtyři vygeneruje chybovou zprávu.

Znaková konstanta znaky mohou být všechny grafické znaky znakové sady zdroj s výjimkou pro nový řádek, zpětné lomítko \, jednoduché uvozovky "a uvozovky", nebo je určit pomocí sekvence escape.Existují tři typy sekvence escape: sekvence escape jednoduché a osmičkové šestnáctkové.

Sekvence escape jednoduché mohou být následující:

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

Osmičkové escape sekvenci je zpětné lomítko následované posloupnost až 3 osmičkové číslice.

Šestnáctkové escape sekvence je lomítko následované znak x, následovaný posloupnosti šestnáctkových číslic.

Microsoft C++ podporuje normální, multicharacter a konstanty celého znaku.Pomocí konstanty wide znak zadat členy provedení rozšířené znakové sady (například podporovat mezinárodní přihlášky).Běžný znak konstanty mají typu char, multicharacter konstanty mají typu int, a typ konstanty celého znaku wchar_t.(Typ wchar_t je definován ve standardní zahrnout soubory STDDEF.H, STDLIB.H a řetězec.H.Funkce znak wide jsou však pouze v STDLIB prototyped.H.)

Jediný rozdíl mezi běžných a wide znak konstanty specifikace je předchází písmeno konstanty celého znaku L.Příklad:

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

Následující tabulka obsahuje vyhrazené nebo nongraphic znaky, které jsou systému závislé nebo není povoleno ve znaku konstanty.Tyto znaky by měly být zastoupeny s sekvence escape.

Vyhrazené C++ nebo Nongraphic znaků

Znak

ASCII

Zastupování

ASCII

Value

Sekvence escape

Nový řádek

NL (LF)

10 nebo 0x0a

\n

Horizontální tabelátor

HT

9

\t

Vertikální tabelátor

VT

11 nebo, 0x0B

\v

BACKSPACE

BS

8

\b

Návrat

CR

13 nebo 0x0d

\r

FormFeed

FF

12 nebo 0x0c

\f

Upozornit

BEL

7

\a

Zpětné lomítko

\

92 nebo 0x5c

\\

Otazník

?

63 nebo 0x3f

\?

Jednoduché uvozovky

'

39 nebo 0x27

\'

Dvojité uvozovky

"

34 nebo 0x22

\"

Osmičkové číslo

ooo

\ooo

Šestnáctkové číslo

HHH

\xhhh

Znakem NULL

NUL

0

\0

Pokud znak následující zpětné lomítko neurčuje právní escape sekvence, výsledkem je implementace definované.V Microsoft C++ je znak následující zpětné lomítko vzato doslova, jako kdyby únik není přítomen a bude vydáno upozornění úrovně 1 ("Neznámý znak escape sekvence").

Osmičkové escape sekvencí, uvedené v tomto \ooo, obsahovat zpětné lomítko a jednoho, dvou nebo tří znaků.Sekvence escape šestnáctkové, uvedené ve formuláři \xhhh, obsahovat znaky \x následuje posloupnost hexadecimálních číslic.Na rozdíl od oktalové konstanty neexistuje žádné omezení na počet šestnáctkových číslic v sekvence escape.

První znak, který není osmičkové číslice jsou ukončena osmičkové escape sekvencí nebo když tři znaky jsou viditelné.Příklad:

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

Sekvence escape šestnáctkové podobně ukončení prvního znaku, který není šestnáctková číslice.Protože šestnáctkových číslic písmena a prostřednictvím f (a A prostřednictvím F), ujistěte se, zda sekvence escape končí na zamýšlené číslice.

Protože jediný nabídky označit (') uzavře znak konstanty, použijte escape sekvence \' představující uzavřený jednoduchých uvozovek.Dvojité uvozovky (") mohou být zastoupeny bez sekvence escape.Znak zpětného lomítka (\) je znak pro pokračování řádku při umístění na konci řádku.Pokud chcete zobrazit v rámci Znaková konstanta zpětné lomítko, musíte zadat dvě zpětná lomítka v řádku (\\).(Viz Fáze překladu v Předprocesoru odkaz Další informace o pokračování řádku.)

Viz také

Referenční dokumentace

Literály C++