我正在做一个 C++ 初学者级别的项目(不是像“什么是循环”这样的绝对初学者,但我也不会说它是中级级别)。
在这个项目中,我需要将一些存储在内存中的结构变量数据保存到一个文件中(这是简单的命令式编程,不涉及 OOP)。
我读过一些关于序列化、使用一些非标准库等的选项。但我需要让它尽可能简单和干净。
到目前为止,我有 2 个结构,非常像这些:
struct client {
string name;
string address;
double phone;
};
struct invoice {
string client_name;
double total;
};
我正在寻找类似于 http://www.cplusplus.com/doc/tutorial/files 中提供的示例的内容:
#include <iostream>
#include <fstream>
using namespace std;
int main () {
ofstream myfile;
myfile.open ("example.txt");
myfile << "Writing this to a file.\n";
myfile.close();
return 0;
}
有没有一种方法可以做类似的事情,但要将结构变量写入(然后能够读取)文件,并保持简单? 几年前,我记得在将记录写入文件时以一种非常简单的方式在 Pascal 中处理这个问题。类似于:打开文件,写入记录字段 1,写入字段分隔符,写入记录字段 2,写入字段分隔符,写入记录分隔符。然后在阅读时我会搜索分隔符。在 C++ 中不推荐这样做吗?
谢谢。
最佳答案
您可以检查 C++ 的序列化,例如。 Boost::Boost 库中的序列化。
关于C++:以最简单和最干净的方式将值写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32169043/