Tinyxml 打印属性

发布于 2024-08-24 04:33:14 字数 538 浏览 5 评论 0原文

我正在尝试使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三生殊途 2024-08-31 04:33:14

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

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

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

std::string has a constructor that takes char const*. You don't need a char* for that.

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

However, be aware that std::string doesn't like NULL values, so don't give it any.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文