Во втором примере присваивается уникальный идентификатор рассматриваемому элементу. Этот элемент может быть затем обработан или доступен с помощью DHTML.
Первый, с другой стороны, устанавливает именованное местоположение в документе, похожее на закладку. Прикрепленный к «якору», он имеет смысл.
Ну ... вроде того. Самый простой - просто использовать тот факт, что смежные строковые литералы объединяются компилятором:
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.";
Отступ не имеет значения, поскольку он не находится внутри кавычек.
Вы также можете сделать это, если позаботитесь о чтобы избежать встроенной новой строки. В противном случае, как это сделал мой первый ответ, не будет компилироваться:
const char *text2 = "Here, on the other hand, I've gone crazy \ and really let the literal span several lines, \ without bothering with quoting each line's \ content. This works, but you can't indent.";
Опять же, обратите внимание на эти обратные косые черты в конце каждой строки, они должны быть непосредственно перед концом строки, они экранируют новую строку в источнике, так что все действует так, как будто новой строки не было. Вы не получаете символы новой строки в строке в тех местах, где у вас была обратная косая черта. С этой формой вы, очевидно, не можете сделать отступ для текста, поскольку в этом случае отступ станет частью строки,
Вы можете просто сделать это:
const char *text = "This is my string it is "
"very long";