Is there any way to have multi-line plain-text, constant literals in C++, à la Perl?
Maybe some parsing trick with #includeing a file?
I know you can do it with raw strings in C++11.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Well … Sort of. The easiest is to just use the fact that adjacent string literals are concatenated by the compiler:
The indentation doesn’t matter, since it’s not inside the quotes.
You can also do this, as long as you take care to escape the embedded newline. Failure to do so, like my first answer did, will not compile:
Again, note those backslashes at the end of each line, they must be immediately before the line ends, they are escaping the newline in the source, so that everything acts as if the newline wasn’t there. You don’t get newlines in the string at the locations where you had backslashes. With this form, you obviously can’t indent the text since the indentation would then become part of the string, garbling it with random spaces.