Ответ 1
Самый простой способ - использовать строковый литерал строки:
std::string s = R"x(<script src = "Script2.js" type = "text/javascript"> < / script>)x";
// ^^^^ ^^^
Вам просто нужно позаботиться о том, чтобы разделители x(
)x
не использовались в тексте, представленном внутри. Все остальные символы, появляющиеся в этих разделителях, отображаются как есть (включая новые строки). x
выбирается произвольно, может быть something(
, )something
.
Чтобы избежать дополнительных вопросов по этому поводу:
Нет, невозможно сделать 1 что-то вроде
std::string s = R"resource(
#include "MyRawTextResource.txt"
)resource";
Препроцессор не распознает оператор #include "MyRawTextResource.txt"
, поскольку он заключен в пару двойных кавычек ("
).
В этом случае подумайте о том, чтобы ввести свой пользовательский шаг предварительной сборки, выполняющий замену текста перед компиляцией.
1) По крайней мере, мне не удалось найти обходной путь. Цените, если кто-то докажет мне, что не так.