加载XML出错总结

我加载XML文件时出现这个问题,这是单步调试时出现的错误

0x00393436 处最可能的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突,调试出现这个错误!!!

上网找的结果都不是很直接能解决自己的问题

其实原因大多是初始化XML文件时出错,因为在这里出错

// //读取xml表信息  
      NameParser* myXml = NameParser::parserWithFile("rolename.xml");   

在这里myXml是空的!! 发现值是0xcccccccccc!!!!!
这个意思是未初始化时 候的指针是指向地址0x0cccccccc的!!!所以说明没有初始化成功!!!再继续看到解析文件,

bool NameParser::initNameParser(const char *tmxFile)  

{  

    m_xmlMap.clear();  

      

    CCSAXParser parser; //定义解析  

    if(!parser.init("UTF-8")) //不是utf-8就不解析了  

    {  

        return false;  

    }  

    parser.setDelegator(this); //设置解析的对象,这样就会调用解析的方法  

    string fullPath = CCFileUtils::sharedFileUtils()->fullPathForFilename(tmxFile);  

      

    return parser.parse(fullPath.c_str());  

其实加载XML文件大多错误出现在加载路径的时候,经过单步调试,自己就是在这里出现错误, 说从XML文件加载数据失败,后来才发现自己XML文件不是放在Resource目录下,所以改了目录,最后运行,成功!!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值