Qt使用rapidxml无法解析中文路径问题

rapidxml是一个解析xml格式的c++库,解析速度很快很快。对于大的xml文件使用的最近选择。可以参考博客。

在使用的时候如果遇到中文路径会出现错误,参考网址解决。

具体如下

setlocale(LC_ALL, ""); 
QString filename = QString("E:/mytest/rapidxml_test/测试.xml");
std::string strXml;
strXml.append((filename.toStdString().c_str()));
rapidxml::file<> fdoc(strXml.c_str());
setlocale(LC_ALL, "C");
rapidxml::xml_document<> doc;
doc.parse<0>(fdoc.data());

std::string strXml; 文件名赋值必须在setlocale(LC_ALL, ""); 和setlocale(LC_ALL, "C");之间,不然会错误。

 

你可能感兴趣的:(Qt)