如何将包含已分配内存的结构保存到文件?

时间:2017-08-24 03:44:22

标签: c struct

{{1}}

现在,根据这些剪切代码,如何将 conn-> db 结构保存到 conn->文件包含所有内容? 在那之后,我必须能够再次从文件中读取它。

我不能使用堆栈类型结构,因为“ max_data ”和“ max_size ”是从用户输入的!

1 个答案:

答案 0 :(得分:0)

您是否考虑过写入二进制文件。

写作

FILE *write_ptr;

write_ptr = fopen("test.bin","wb");  // w for write, b for binary
fwrite(conn->db,sizeof(conn->db),1,write_ptr); // write number of bytes determined by the structure size into a binary file

从该文件中读取

FILE *read_ptr;

read_ptr = fopen("test.bin","rb");  // r for read, b for binary
fread(conn->db,sizeof(conn-db),1,ptr); // read bytes determined by size of structure form the file into the current conn->db structure 

请注意,二进制文件无法在paintext中打开和读取