gpt4 book ai didi

c++ - 如何将带有 vector 或其他标准库容器的对象保存到 C++ 中的二进制文件?

转载 作者:太空宇宙 更新时间:2023-11-04 15:55:47 24 4
gpt4 key购买 nike

像这样的对象:

#include <vector>
using namespace std;
class A
{
public:
vector<int> i;
//save other variable
};

void save(const A & a)
{
//dosomething
}

int main()
{
A a;
save(a);
return 0;
}

如何将其保存为二进制文件?换句话说,如何编写保存功能?

最佳答案

ofstreamcopy应该足够了:

void save(const A & a)
{
std::ofstream out_file("path/to/output/file", std::ios::binary);
std::copy(a.i.begin(), a.i.end(), std::ostream_iterator<int>(out_file));
}

顺便说一句,你应该避免 using namespace std; .

正如评论中指出的(感谢@Daniel Langr),这仅适用于具有 operator<< 工作实现的类型对于 ofstream或其基类

关于c++ - 如何将带有 vector 或其他标准库容器的对象保存到 C++ 中的二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58407196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com