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.
在谷歌搜索后,我尝试了这个:
char * not_const= const_cast<char *> (data->Attribute("some_name"));
代码本身没有错误,但在编译和运行后出现异常。
I'm trying to get std::string from attribute's value with TinyXml.
The only thing I can get is a const char * val, and I can't find any way to convert from const char * to a std::string.
so two possible answers to that:
1. How to get a string of an attribute with TinyXml?
2. How to convert const char * val to string val.
this is the code I have now:
TiXmlElement* data;
data->Attribute("some_name"); // return const char * which seems like unconvertible.
After googeling, I tried this:
char * not_const= const_cast<char *> (data->Attribute("some_name"));
There are no errors in the code itself, but after compiling and running I get exceptions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
std::string 有一个采用 char const* 的构造函数。您不需要为此使用 char* 。
但是,请注意 std::string 不喜欢 NULL 值,因此不要给它任何值。
std::string has a constructor that takes char const*. You don't need a char* for that.
However, be aware that std::string doesn't like NULL values, so don't give it any.