Tinyxml打印属性

时间:2010-03-03 07:16:07

标签: c++ variables string const tinyxml

我正在尝试使用TinyXml从属性值获取std :: string。 我唯一能得到的是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.

googeling后,我尝试了这个:

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

代码本身没有错误,但在编译和运行后,我得到了异常。

1 个答案:

答案 0 :(得分:3)

std :: string有一个构造函数,它接受char const *。你不需要char *。

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

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

相关问题