我正在开发一个类似数据库的应用程序,它存储一个包含以下内容的结构:
struct Dictionary
{
char *key;
char *value;
struct Dictionary *next;
};
如您所见,我使用链表来存储信息。但是当用户退出程序时问题就开始了。我希望将信息存储在某个地方。所以我正在考虑使用 fopen 将链表存储在永久或临时文件中,然后,当用户启动程序时,检索链表。这是将链表打印到控制台的方法:
void PrintList()
{
int count = 0;
struct Dictionary *current;
current = head;
if (current == NULL)
{
printf("\nThe list is empty!");
return;
}
printf(" Key \t Value\n");
printf(" ======== \t ========\n");
while (current != NULL)
{
count++;
printf("%d. %s \t %s\n", count, current->key, current->value);
current = current->next;
}
}
因此,我正在考虑修改此方法以通过 fprintf 而不是 printf 打印信息,然后程序将从文件中获取信息。有人可以帮助我如何读写这个文件吗?它应该是什么类型的文件,临时的还是常规的?我应该如何格式化文件(就像我想先有键,然后是值,然后是换行符)?