你好!要从文件中读取信息,你可以编写一个函数来实现。以下是一个简单的示例代码:void load(Employee** head){ FILE* fp = fopen("employee_list.txt", "rb"); if(fp == NULL) { printf("打开文件失败\n"); return; } Employee* p = NULL; Employee* prev = NULL; while(1) { p = (Employee*)malloc(sizeof(Employee)); if(fread(p, sizeof(Employee), 1, fp) != 1) { free(p); break; } p->next = NULL; if(*head == NULL) { *head = p; } else { prev->next = p; } prev = p; } fclose(fp); printf("员工信息已从文件中加载\n");}
这个函数会从文件中读取员工信息,并将它们构建成链表。在读取过程中,我们使用`fread`函数来读取一个`Employee`结构体对象的内容,并通过动态内存分配来创建新的节点。最后,我们将新节点添加到链表的末尾。
请注意,在调用此函数之前,请确保链表已经被清空,即`*head`为NULL。另外,为了避免内存泄漏,记得在不需要时释放链表中的节点。
希望对你有帮助!如果有任何问题,请随时告诉我。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |