如何将字符传递到find_child_by_attribute中以获取 pugixml
How do i pass a char into find_child_by_attribute for pugixml
我正在尝试将一个值从文件传递到tileNode.find_child_by_attribute("tileset","firstgid",container[0]).attribute("source").as_string()
. 它应该返回图像路径的字符串。
#include <iostream>
#include <vector>
#include "SFML/Graphics.hpp"
#include "../hpp/pugixml.hpp"
int main()
{
std::vector <char> container = {};
pugi::xml_document document;
pugi::xml_parse_result result = document.load_file("./room/default.tsx");
pugi::xml_node tileNode = document.child("map").child("tiledata");
std::string gridRawData = document.child("map").child("layer").child("data").text().as_string();
int z = 0;
int y = 0;
//read map key from file
for(int x = 0; x < gridRawData.size(); x++)
{
if(document.child("map").child("layer").child("data").child_value()[x] != 'n' &&
document.child("map").child("layer").child("data").child_value()[x] != ',')
{
container.push_back(gridRawData[x]);
};
}
std::cout<<tileNode.find_child_by_attribute("tileset","firstgid",container[0]).attribute("source").as_string();
return 0;
};```
it gives error:
```it gives error
||=== Build: Release in projectrpg (compiler: GNU GCC Compiler) ===|
C:UsersNyannersDesktopgamedevhellprojectrpgprojectrpgcppmain.cpp||In function 'int main()':|
C:UsersNyannersDesktopgamedevhellprojectrpgprojectrpgcppmain.cpp|17|warning: comparison between signed and unsigned integer expressions [-Wsign-compare]|
C:UsersNyannersDesktopgamedevhellprojectrpgprojectrpgcppmain.cpp|29|error: invalid conversion from '__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type {aka char}' to 'const char_t* {aka const char*}' [-fpermissive]|
C:UsersNyannersDesktopgamedevhellprojectrpgprojectrpghpppugixml.hpp|648|note: initializing argument 3 of 'pugi::xml_node pugi::xml_node::find_child_by_attribute(const char_t*, const char_t*, const char_t*) const'|
C:UsersNyannersDesktopgamedevhellprojectrpgprojectrpgcppmain.cpp|14|warning: unused variable 'z' [-Wunused-variable]|
C:UsersNyannersDesktopgamedevhellprojectrpgprojectrpgcppmain.cpp|15|warning: unused variable 'y' [-Wunused-variable]|
||=== Build failed: 1 error(s), 3 warning(s) (0 minute(s), 2 second(s)) ===|```
所以疯狂猜测你的实际意思,我会为此丰满
char attr_value[] = { container[0], ' ' };
cout << tileNode.find_child_by_attribute("tileset","firstgid",attr_value).attribute("source").as_string();
第一行将container[0]
中的字符转换为find_child_by_attribute
所需的以 null 结尾的字符串。
相关文章:
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- 更改"child's parent's style sheet"时如何将孩子的样式表重置为 Qt 默认样式表?
- 将 std::thread by 值推送到列表中
- MATLAB to C++: csvread() not supported by MATLAB Coder
- Makefile by ocaml 和 cpp 扩展名
- C++ OpenCV Randu 函数抛出'Integer division by zero'
- C++:无法将参数1从Child非模板类转换为Parent模板类
- qt get child (Callout) from QChart
- 从函数 BY VALUE 返回数组,返回结构时会发生什么?
- 如何在不受其他文件影响的情况下"by itself" Visual Studio 项目中运行C++文件?
- 传递 boost::filesystem::p ath 到 boost::p rocess::child 会导致 Win
- 将子类实例保存在父类型变量中并通过父变量使用 Child 函数?
- 如何确保我们从 boost::child 进程中读取所有行
- MacPorts:"Error: clang-4.0 has been replaced by clang-8.0; please install that instead",但我已经安装了clang
- 为什么 c++ 向量没有"delete by index"?
- 这个给定的代码应该将给定的数字转换为尽可能滞后的数字,no.by 用 9.It 替换合适的数字是行不通的
- 传递类 by-value 时,调用方或被调用方是否调用析构函数
- By-ref 参数:这是 std::thread 和 std::bind 之间的不一致吗?
- 转到特定页面后,如何将滑动视图的当前索引设置为选项卡栏"by reference"的当前索引?
- CMake: Hide -WShadow global compile flag for child target