cereal 编译并运行,但不写入文件
cereal compiles and runs, but does not write to file
以下代码不写入文件。
#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;
超出我们在控制台中看到的范围:
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>
缺少什么?
谷物教程中的错误复制粘贴:
应该是ofstream
而不是stringstream
{
vector<int> v = { 1,2,3 };
std::ofstream outFile("cereal_test.xml");
{
cereal::XMLOutputArchive oarchive(outFile);
oarchive(v);
}
}
以下代码不写入文件。
#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;
超出我们在控制台中看到的范围:
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>
缺少什么?
谷物教程中的错误复制粘贴:
应该是ofstream
而不是stringstream
{
vector<int> v = { 1,2,3 };
std::ofstream outFile("cereal_test.xml");
{
cereal::XMLOutputArchive oarchive(outFile);
oarchive(v);
}
}