프로그래밍 언어/C++

C ++ 여러 줄 문자열 리터럴

Rateye 2021. 6. 8. 14:02
728x90
반응형
질문 : C ++ 여러 줄 문자열 리터럴

Perl과 같이 C ++에서 여러 줄의 일반 텍스트, 상수 리터럴을 사용하는 방법이 있습니까? #include 파일을 파싱하는 트릭일까요? 하나는 생각할 수 없지만, 그거 좋겠네요. 나는 그것이 C ++ 0x에있을 것이라는 것을 안다.

답변

글쎄요 .. 가장 쉬운 방법은 인접한 문자열 리터럴이 컴파일러에 의해 연결된다는 사실을 사용하는 것입니다.

const char *text =
  "This text is pretty long, but will be "
  "concatenated into just a single string. "
  "The disadvantage is that you have to quote "
  "each part, and newlines must be literal as "
  "usual.";

따옴표 안에 있지 않기 때문에 들여 쓰기는 중요하지 않습니다.

포함 된 개행 문자를 이스케이프 처리하는 한 이렇게 할 수도 있습니다. 그렇게하지 않으면 첫 번째 대답처럼 컴파일되지 않습니다.

다시 말하지만, 각 줄의 끝에있는 백 슬래시는 줄이 끝나기 직전에 있어야하며 소스에서 줄 바꿈을 이스케이프하므로 모든 것이 줄 바꿈이없는 것처럼 작동합니다. 백 슬래시가있는 위치의 문자열에는 줄 바꿈이 없습니다. 이 형식을 사용하면 들여 쓰기가 문자열의 일부가되어 임의의 공백으로 뒤덮이기 때문에 분명히 텍스트를 들여 쓸 수 없습니다.

출처 : https://stackoverflow.com/questions/1135841/c-multiline-string-literal
728x90
반응형