【问题标题】:Tinyxml to print attributesTinyxml 打印属性
【发布时间】:2010-03-03 07:16:06
【问题描述】:

我正在尝试使用 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"));

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

【问题讨论】:

  • TinyXML 不是一个很好的 XML 库。我会推荐 LibXML++,因为您使用的是 C++。

标签: c++ variables string constants tinyxml


【解决方案1】:

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

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

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

【讨论】:

  • 不敢相信我在这玩意上花了一个多小时。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多