Хотел поинтересноваться следующей темой, существует ли возможность создать строковую константу во время компиляции состоящую из других строковых констант, поясню чего хочу... У меня есть имя тега, которое я использую в парсере, но так же это имя хочу использовать в создание xml файла, но получается, что я дублирую код и изменяя одно, приходится изменять другое, что мне не совсем по душе... собственно код
| Код | const char TagName[] = "my_tag"; const char OpenTagName[] = "<my_tag>"; const char CloseTagName[] = "</my_tag>";
|
видно из кода, что константы практически одинаковые и изменив переменную TagName, я должен менять переменные OpenTagName и CloseTagName, что не очень хорошо. Я хочу попросить об этом компилятор, примерно, чего хочу добиться, выглядит в примере ниже, который, ЕСТЕСТВЕННО НЕ СКОМПИЛИТСЯ
| Код | const char TagName[] = "my_tag"; char OpenTagName[strlen(TagName+3)] = strcat(strcat(strcat(OpenTagName, "<"), TagName), ">"); char CloseTagName[strlen(TagName+3)] = strcat(strcat(strcat(CloseTagName, "</"), TagName), ">");
|
Пример выше, замечу, лишь показывает чего я хочу от компилятора, но не знаю, как граммотно это сделать и возможно ли такое, поэтому обращаюсь за помощью... Использование строк из библиотеки stl, которые будут в какой - нибудь функции создавать нужные тега, меня не интересуют, вопрос именно по примеру выше...
Заранее благодарен всех откликнувшихся |