Tinyxml для печати атрибутов - PullRequest
0 голосов
/ 03 марта 2010

Я пытаюсь получить std :: string из значения атрибута с помощью TinyXml. Единственное, что я могу получить - это const char * val, и я не могу найти какой-либо способ преобразования из const char * в std :: string.

так что два возможных ответа на это: 1. Как получить строку атрибута с TinyXml? 2. Как конвертировать const char * val в string val.

это код, который у меня сейчас есть:

TiXmlElement* data;
data->Attribute("some_name"); // return const char * which seems like unconvertible.

После поиска в Google, я попробовал это:

char * not_const= const_cast<char *> (data->Attribute("some_name"));

В самом коде нет ошибок, но после компиляции и запуска я получаю исключения.

1 Ответ

3 голосов
/ 03 марта 2010

std :: string имеет конструктор, который принимает char const *. Вам не нужен символ * для этого.

std::string str = data->Attribute("some_name");

Однако имейте в виду, что std :: string не нравятся значения NULL, поэтому не указывайте их.

...