c - 用C语言将数据写入文件[序列化]

标签 c database struct

我有一个想要保存在数据文件中的结构。

typedef struct Photo {
    char name[20];
    char description[100];
} photo;

我希望能够将许多这些结构保存在文件中,就像数据库一样。我能看到这样做的唯一方法是通过 fwrite()在平台移动性方面存在问题,只需写 photo->name, photo->description作为ascii。我真的很想避免解析所有原始文本数据。还有其他方法吗?

最佳答案

我不太明白你在问什么,但你也可以使用fprintf写入文件。

如果您询问如何将数据存储在文件中以便更快地查找,请使用哈希表,在文件的开头有一个表,该表指向结构的内存位置以及哈希值(名称参数)。

查询文件时,您所要做的就是匹配哈希值,然后跳转到该特定位置。

关于c - 用C语言将数据写入文件[序列化],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46292250/

相关文章:

c - GCC 无法在包含的库中找到头文件

c++ - 如何发出 libcurl HTTP Web 请求?

java - 将数据存储到sqlite

database - 将数据文件添加到 MS SQL Server 中的主文件组

function - 如何减少 Golang 中重复函数的冗余代码?

c++ - avl树的实现导致segmentation fault

c - 在循环内动态分配结构

c - 在 C 中交换指针数组中的 2 个元素(到不同长度的字符串)

c - fputc无法将字符写入文件?

mysql - 如何更改 mysql 表列的默认值?