我正在尝试使用 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.
谷歌搜索后,我尝试了这个:
char * not_const= const_cast<char *> (data->Attribute("some_name"));
代码本身没有错误,但是编译运行后出现异常。
最佳答案
std::string 有一个采用 char const* 的构造函数。您不需要为此使用 char*。
std::string str = data->Attribute("some_name");
但是,请注意 std::string 不喜欢 NULL 值,因此不要给它任何值。
关于c++ - Tinyxml 打印属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2369387/