C + +의 문자 상수

문자 상수는 중 하나 이상의 멤버는 기본 소스 문자 집합, 문자 집합 프로그램 작성 하 되, 단일 인용 부호로 묶여 (').문자를 나타내는 데 사용 되는 실행 기본 문자 집합, 문자 위치는 프로그램이 실행 될 컴퓨터에 설정 합니다.

Microsoft 전용

Microsoft C/C++ 컴파일러, 소스 및 실행 문자가 모두 ASCII입니다.

96 문자를 기본 소스 문자 집합으로 구성 됩니다: 공간 문자입니다. 나타내는 가로 탭 및 세로 탭, 이상한, 줄 바꿈 제어 문자입니다. 고 91 문자:

abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLMNOPQRSTUVWXYZ

0123456789

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

실행 기본 문자 집합은 기본 소스 문자 집합의 문자 및 경고, 백스페이스, 캐리지 리턴, null 나타낼 컨트롤 문자 중 구성 됩니다.

Microsoft 특정 끝

세 종류의 문자 상수입니다.

  • 일반 문자 상수

  • Multicharacter 상수

  • 와이드 문자 상수

[!참고]

와이드 문자 상수를 multicharacter 상수 대신 이식성을 확인 하십시오.

문자 상수는 작은따옴표로 묶은 하나 이상의 문자에 지정 되어 있습니다.예를 들면 다음과 같습니다.

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

참고 mbch 형식인 int.이 형식으로 선언 된 경우 char, 두 번째 바이트는 유지 될 것입니다.Multicharacter 상수는 네 개의 의미 있는 숫자입니다. 4 개 이상 지정 하면 오류 메시지가 나타납니다.

문자 상수에 문자가 있을 수 있는 그래픽 문자를 새 줄에 백슬래시를 제외 하 고는 원본 문자 집합 \를 단일 인용 부호 ' 하 고 큰따옴표 () ", 또는 이스케이프 시퀀스를 사용 하 여 지정할 수 있습니다.이스케이프 시퀀스의 세 가지가: 단순, 8 진수 및 16 진수 이스케이프 시퀀스입니다.

단순 이스케이프 시퀀스는 다음과 같습니다.

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

8 진수 이스케이프 시퀀스는 백슬래시는 최대 3 개의 8 진수 시퀀스가 뒤에 오지입니다.

16 진수 이스케이프 시퀀스는 백슬래시 문자 x 16 진수의 시퀀스에서 다음에, 그 뒤를입니다.

Microsoft C++ 표준, multicharacter, 및 와이드 문자 상수를 지원합니다.와이드 문자 상수를 사용 하 여 확장된 실행 문자 (국가별 응용 프로그램을 지원 하기 위해 예) 집합의 멤버를 지정 합니다.표준 문자 상수의 형식을 가질 char, multicharacter 상수 형식을 가질 int, 고 와이드 문자 상수의 형식 wchar_t.(형식 wchar_t STDDEF 표준 포함 파일에 정의 됩니다.H, STDLIBH 및 문자열입니다.H.그러나 와이드 문자 함수에서 STDLIB만 프로토타입화 됩니다.H.)

와이드 문자 상수는 문자 단위로 뒤에 야 사양 일반 및 와이드 문자 상수 간의 유일한 차이입니다 L.예를 들면 다음과 같습니다.

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

시스템 종속 또는 문자 상수에서 허용 되지 않습니다 예약 된 또는 nongraphic 문자는 다음과 같습니다.이러한 문자는 이스케이프 시퀀스를 나타내야 합니다.

예약 된 C++ 또는 Nongraphic 문자

문자

ASCII

표현

ASCII

이스케이프 시퀀스

줄 바꿈

NL (LF)

10 또는 0x0a

\n

가로 탭

HT

9

\t

세로 탭

VT

11 또는 0x0b

\v

백스페이스

BS

8

\b

캐리지 리턴

CR

13 또는 0x0d

\r

이상한

FF

12 또는 0x0c

\f

경고

BEL

7

\a

백슬래시

\

92 나 0x5c

\\

물음표

?

63 나 0x3f

\?

작은따옴표

'

39 나 0x27

\'

큰따옴표

이때

34 나 0x22

\"

8 진수

ooo

\ooo

16 진수

\xhhh

Null 문자

NUL

0

\0

법적 이스케이프 시퀀스는 다음에 나오는 문자를 지정 하지 않은 경우 결과 정의 된 구현입니다.Microsoft C++에는 다음에 나오는 문자는 이스케이프 되지 않은, 그리고 게 수준 1 경고 ("인식할 수 없는 문자가 이스케이프 시퀀스") 것 처럼 문자 그대로 수행 됩니다.

폼에 지정 된 8 진수 이스케이프 시퀀스 \, 백슬래시 및 하나, 둘 또는 세 개의 8 진수 문자 중 구성 됩니다.16 진수 이스케이프 시퀀스를 양식의 \x에 지정 된, 문자 중 구성 됩니다 \x 의 16 진수 시퀀스에서 뒤에.8 진수 이스케이프 상수와는 달리는 16 진수 이스케이프 시퀀스에서 수에 제한이 없습니다.

표시 된 세 개의 문자를 때 8 진수 이스케이프 시퀀스는 진수, 없는 첫 번째 문자에서 종료 됩니다.예를 들면 다음과 같습니다.

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

마찬가지로, 16 진수 이스케이프 시퀀스 16 진수 수 없는 첫 번째 문자에서 종료 됩니다.16 진수 문자가 포함 되어 있기 때문에 a 통해 f (및 A 통해 F)를 이스케이프 시퀀스가 종료 원하는 자리에 있는지 확인 하십시오.

단일 인용 부호를 표시 하기 때문에 (') 문자를 둘러싸는 상수를 사용 하 여 이스케이프 시퀀스 \' 를 나타내는 단일 인용 부호로 묶여 있습니다.이중 인용 부호 (")에서 이스케이프 시퀀스 없이 나타낼 수 있습니다.백슬래시 문자 (\)는 줄 연속 문자를 줄의 끝에 배치 하면 됩니다.백슬래시 문자를 문자열 상수 안에 있는 경우 행에 두 개의 백슬래시를 입력 합니다 (\\).(참조 하십시오 번역의 단계 에 있는 전처리기 참조 줄 연속에 대 한 자세한 내용은.)

참고 항목

참조

C + + 리터럴