首页 > 解决方案 > 反序列化 xml 数据时出现异常

问题描述

我得到了这个异常:“libc++abi.dylib:以 boost::archive::archive_exception 类型的未捕获异常终止:输入流错误-没有此类进程以 boost::archive::archive_exception 类型的未捕获异常终止:输入流错误 - 从 xml 文件反序列化时,我的程序中没有此类进程 (lldb)

我的程序:

#include<iostream>
#include<fstream>
#include<boost/archive/xml_oarchive.hpp>
#include<boost/archive/xml_iarchive.hpp>

int main(){
    std::string fname = "file.xml";

{
    std::string a("hello world");
    
    std::ofstream of(fname.c_str());
    boost::archive::xml_oarchive of_xml(of);
    of_xml << BOOST_SERIALIZATION_NVP(a);
    
    of.close();
    
}

{
    std::string b;
    std::ifstream inf(fname.c_str());
    boost::archive::xml_iarchive inf_xml(inf);
    inf_xml >> BOOST_SERIALIZATION_NVP(b);
    
    inf.close();
    
    std::cout<<"string is : "<<b<<"\n";
}


return 0;
}

如何处理这个异常家伙?

标签: c++boostc++17

解决方案


推荐阅读