【问题标题】:How to write content of an object into a file in c++如何将对象的内容写入c ++中的文件
【发布时间】:2017-11-05 20:08:38
【问题描述】:

我有一个这种格式的代码:

        srcSAXController control(input_filename.c_str());

        std::string output_filename = input_filename;
        output_filename = "c-" + output_filename.erase(input_filename.rfind(XML_STR));

        std:: ofstream myfile(output_filename.c_str());                                    

        coverage_handler handler(i == MAIN_POS ? true : false, output_filename);

        control.parse(&handler);

        myfile.write((char *)&control, sizeof(control));

        myfile.close();

我希望将对象“控制”的内容写入我的文件。如何修复上面的代码,使控件对象的内容写入文件。

【问题讨论】:

    标签: c++ file-io ifstream ofstream


    【解决方案1】:

    通常,您需要的不仅仅是写入对象的字节才能保存和重新加载它。

    这个问题被命名为“serialization”,根据很多因素,有几种策略。

    例如,重要的是要知道您是否需要在同一个系统上保存和重新加载对象,或者是否需要在不同的系统上重新加载它;了解对象是否包含指向其他对象的链接、链接图是否为简单树或是否可能存在循环、是否需要支持版本控制等也是很重要的。

    即使对于像包含std::string 的对象这样简单的东西,像代码那样将字节写入磁盘也是行不通的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多