c++ - 在没有序列化库的情况下,在 c++ 中从结构读取数据和从文件写入数据的最简单方法是什么?

标签 c++ fstream

我正在编写一个程序,定期存储和读取以下形式的结构。

struct Node {
    int leftChild = 0;
    int rightChild = 0;
    std::string value;
    int count = 1;
    int balanceFactor = 0;
};

我如何将节点读写到文件中?我想将 fstream 类与 seekg 和 seekp 一起使用来手动进行序列化,但我不确定它是如何根据文档工作的,并且正在努力寻找合适的例子。

[edit] 指定我不想使用序列化库。

最佳答案

此问题称为 serialization .使用序列化库,例如谷歌的Protocol BuffersFlatbuffers .

关于c++ - 在没有序列化库的情况下,在 c++ 中从结构读取数据和从文件写入数据的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36576351/

相关文章:

c++静态方法和模板中的继承与重载

c++ - 如何流式传输/读取二进制文件的中间部分并写入标准 C++ 中的另一个文件?

c++ - 如何打印二维对 vector 的值?

c++ - 引号中定义的参数是什么

c++ - 如果调用非虚拟实现,是否会通过 vtable 进行函数分派(dispatch)?

c++ - 检测新行 c++ fstream

c++ - 仅捕获异常以检测 C++ 中的所有二进制文件读/写错误是否足够?

c++ - 从文件中删除特定行

c++ - 结构数组的初始化列表的行为

c++ - gcc 和 clang 抛出 "no matching function call"但 msvc (cl) 编译并按预期工作