HOWTO · C++

C++ 이스케이프 문자

이 문서에서는 C++를 사용하는 문자열 리터럴의 이스케이프 문자에 대한 규칙을 설명합니다.

이 페이지의 내용

이 자습서에서는 먼저 C 및 C++의 이스케이프 문자에 대해 설명합니다. 여기서 유일한 주의 사항은 16진수 코드를 사용하는 경우 ASCII 호환 문자 인코딩이 있다고 가정한다는 것입니다.

C++의 제어 문자

\a \x07 대부분의 컴퓨터에서 bell 소리를 생성하는 경고(벨)
\b \x08 역행 키이
\t \x09 가로 탭
\n \x0A 개행
\v \x0B 세로 탭
\f \x0C 양식 피드
\r \x0D 캐리지 리턴(대부분의 컴퓨터에서 Enter 키)
\e \x1B 탈출 (이것은 비표준입니다. 항상 이것을 찾지 못할 수도 있습니다)

C++의 구두점 문자

\"는 따옴표(이중 아포스트로피)입니다. 또한 문자가 '"'로 작성되면 백슬래시가 필요하지 않습니다.

\' = 아포스트로피. 다시 말하지만 특정 경우에는 백슬래시가 필요하지 않으며 이번에는 "'"입니다.

\? = 물음표(단, 삼중절을 기피하는 등 특정한 경우에만 사용한다. C에서 삼중절은 함께 사용할 때 특정한 의미를 갖는 3개의 문자 그룹이다.

예를 들어 ??= 삼중 문자는 # 구두점과 동일합니다. 자세한 내용은 이 문서에서 찾을 수 있습니다.

\\ = 백슬래시. 백슬래시를 작성해야 하는 경우.

C++의 숫자 참조

\ +(더하기 기호) 3개의 8진수.

\x +와 임의의 수의 16진수. 컴파일러는 16진수가 아닌 첫 번째 숫자를 만날 때까지 16진수를 읽고, 16진수가 아닌 첫 번째 숫자를 만난 후에는 현재 문자의 숫자 읽기를 중지합니다.

\u + + 4개의 16진수(유니코드 BMP, C++11에 추가됨).

\U + + 8개의 16진수(유니코드 아스트랄 평면, C++11에 추가됨).

\0 = \00 = \000 = 널 문자.

또 다른 특별한 경우는 \e로, C 또는 C++에서는 표준이 아니지만 \x1B를 나타내기 위해 일부 컴파일러에서 사용됩니다.

예를 들어 문자 0, 널 문자 \0, 문자 0이 있는 문자열을 구성하는 것과 같이 비표준적인 것을 원할 경우 다음 두 가지가 있습니다. 옵션.

문자열 연결 구문:

std::string(
    "0\0"
    "0",
    3);

초기화 목록 구문:

std::string{'0', 0, '0'};

크기 지정을 피하고 이스케이프 문자를 함께 사용하지 않을 수도 있으므로 첫 번째 옵션보다 후자의 옵션을 사용하는 것이 일반적으로 선호됩니다.