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