1

我正在尝试使用 TinyXml 从属性值中获取 std::string。我唯一能得到的是一个 const char * val,我找不到任何从 const char * 转换为 std::string 的方法。

所以有两个可能的答案: 1. 如何使用 TinyXml 获取属性字符串?2. 如何将const char * val 转换为字符串val。

这是我现在的代码:

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

谷歌搜索后,我尝试了这个:

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

代码本身没有错误,但编译运行后出现异常。

4

1 回答 1

5

std::string 有一个采用 char const* 的构造函数。你不需要 char* 。

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

但是,请注意 std::string 不喜欢 NULL 值,所以不要给它任何值。

于 2010-03-03T07:18:29.853 回答