首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cereal编译并运行,但不写入文件

cereal编译并运行,但不写入文件
EN

Stack Overflow用户
提问于 2019-03-06 22:59:33
回答 1查看 118关注 0票数 0

下面的代码不会写入文件。

代码语言:javascript
复制
#include <cereal/types/vector.hpp>
#include <cereal/archives/xml.hpp>
{
    vector<int> v = { 1,2,3 };
    stringstream s;
    s << "cereal_test.xml";
    cereal::XMLOutputArchive  oarchive(s);
    oarchive(v); 
}

它的编译和运行显然是正确的。

如果我们的cout << s << endl;超出了我们在控制台看到的范围:

代码语言:javascript
复制
cereal_test.xml
<?xml version="1.0" encoding="utf-8"?>
<cereal>
        <value0 size="dynamic">
                <value0>1</value0>
                <value1>2</value1>
                <value2>3</value2>
        </value0>
</cereal>

遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-06 23:32:31

从谷类食品的教程中错误地复制粘贴:

应该是ofstream而不是stringstream

代码语言:javascript
复制
{
    vector<int> v = { 1,2,3 };

    std::ofstream outFile("cereal_test.xml");
    {
        cereal::XMLOutputArchive  oarchive(outFile);
        oarchive(v);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55026089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档