有:2个双向链表。其中的每个元素(Element)都存储了一些信息,以及它自己的、嵌套的双向链表(ItemLocal)即:
struct Element
{
char * name;
ItemLocal * Head;
ItemLocal * Tail;
Element * next;
Element * prev;
};
struct ItemLocal
{
char *field1;
char *field2;
..
ItemLocal * next;
ItemLocal* prev;
};
好了,主要结构:
struct CityList
{
Element * Head;
Element * Tail;
};
但她兴趣不大。保存:
while (current)
{
fwrite(current, sizeof(Element), 1, lp);
fwrite("\r\n", sizeof(char), 1, lp);
current = current->next;
}
我了解到来自指针 char * str、ItemLocal * head 等的信息未写入文件?怎样成为?如何写下然后读出信息?
简而言之,只写 指向的行
name。你可以先写下它的长度,然后是字符串 - binary,比如读取 - 手动读取行和指向上一个/下一个位置的指针 - 因为写下指针的值,更何况读取它们,是完全没有意义的。以大致相同的方式再次阅读: