Escape sequences
이스케이프 시퀀스는 문자열 리터럴 과 문자 리터럴 내에서 특정 특수 문자를 표현하는 데 사용됩니다.
다음 이스케이프 시퀀스를 사용할 수 있습니다:
|
이스케이프
시퀀스 |
설명 | 표현 |
|---|---|---|
| 단순 이스케이프 시퀀스 | ||
\'
|
작은따옴표 |
ASCII 인코딩에서
0x27
바이트
|
\"
|
큰따옴표 |
ASCII 인코딩에서
0x22
바이트
|
\?
|
물음표 |
ASCII 인코딩에서
0x3f
바이트
|
\\
|
백슬래시 |
ASCII 인코딩에서
0x5c
바이트
|
\a
|
경고음 |
ASCII 인코딩에서
0x07
바이트
|
\b
|
백스페이스 |
ASCII 인코딩에서
0x08
바이트
|
\f
|
폼 피드 - 새 페이지 |
ASCII 인코딩에서
0x0c
바이트
|
\n
|
줄 바꿈 - 새 줄 |
ASCII 인코딩에서
0x0a
바이트
|
\r
|
캐리지 리턴 |
ASCII 인코딩에서
0x0d
바이트
|
\t
|
수평 탭 |
ASCII 인코딩에서
0x09
바이트
|
\v
|
수직 탭 |
ASCII 인코딩에서
0x0b
바이트
|
| 숫자 이스케이프 시퀀스 | ||
\
nnn
|
임의의 8진수 값 |
코드 유닛
nnn
(1~3개의 8진수 숫자)
|
\o{
n...
}
(C++23부터)
|
코드 유닛
n...
(임의의 개수의 8진수 숫자)
|
|
\x
n...
|
임의의 16진수 값 |
코드 유닛
n...
(임의의 개수의 16진수 숫자)
|
\x{
n...
}
(C++23부터)
|
||
| 조건부 이스케이프 시퀀스 [1] | ||
\
c
|
구현 정의 | 구현 정의 |
| 유니버설 문자 이름 | ||
\u
nnnn
|
임의의
Unicode
값;
여러 코드 유닛을 생성할 수 있음 |
코드 포인트
U+
nnnn
(4개의 16진수 숫자)
|
\u{
n...
}
(C++23부터)
|
코드 포인트
U+
n...
(임의의 개수의 16진수 숫자)
|
|
\U
nnnnnnnn
|
코드 포인트
U+
nnnnnnnn
(8개의 16진수 숫자)
|
|
\N{
NAME
}
(C++23부터)
|
임의의 유니코드 문자 |
NAME
으로 명명된 문자
(
아래 참조
)
|
-
↑
조건부 이스케이프 시퀀스는 조건부 지원됩니다. 각 조건부 이스케이프 시퀀스의 문자
c는 basic source character set (until C++23) basic character set (since C++23) 의 구성원이며, 다른 이스케이프 시퀀스에서\다음에 오는 문자가 아닙니다.
목차유니버설 문자 이름의 범위
참고 사항\ 0 는 가장 흔히 사용되는 8진수 이스케이프 시퀀스입니다. 왜냐하면 이것이 null-terminated strings 에서 종료 널 문자를 나타내기 때문입니다. 개행 문자 \n 는 텍스트 모드 I/O 에서 사용될 때 특별한 의미를 가집니다: 운영체제별 개행 표현으로 변환되며, 일반적으로 바이트나 바이트 시퀀스입니다. 일부 시스템은 길이 필드로 줄을 표시합니다. 8진수 이스케이프 시퀀스는 최대 세 자리의 8진수 숫자를 허용하지만, 그보다 빨리 유효한 8진수 숫자가 아닌 문자를 만나면 그 지점에서 종료됩니다. 16진수 이스케이프 시퀀스는 길이 제한이 없으며 유효한 16진수 숫자가 아닌 첫 번째 문자에서 종료됩니다. 단일 16진수 이스케이프 시퀀스로 표현된 값이 이 문자열 리터럴에 사용된 문자 형식( char , char8_t , (since C++20) char16_t , char32_t , (since C++11) 또는 wchar_t )이 나타내는 값의 범위에 맞지 않으면 결과는 지정되지 않습니다.
물음표 이스케이프 시퀀스 \ ? 는 문자열 리터럴 내부에서 삼중문자(trigraphs) 가 해석되는 것을 방지하기 위해 사용됩니다: "??/" 와 같은 문자열은 " \" 로 컴파일되지만, 두 번째 물음표를 이스케이프한 "? \? /" 와 같은 경우에는 "??/" 가 됩니다. 삼중문자(trigraphs)가 C++에서 제거되었기 때문에, 물음표 이스케이프 시퀀스는 더 이상 필요하지 않습니다. 이는 C++14(및 이전 개정판) 및 C와의 호환성을 위해 유지됩니다. (C++17부터)
예제
이 코드 실행
출력: This is a test She said, "Sells she seashells on the seashore?" 결함 보고서다음 동작 변경 결함 보고서는 이전에 발행된 C++ 표준에 소급 적용되었습니다.
참고 항목
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||