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