可以传两个head进来吧,像struct1 *head1,struct2 *head2然后分别处理,然后在函数里面如果head1、head2为空则往文件中写。你可以试试。
int save_msg(void *head,void *temp,char *filename){//这里的head要换成,head所在的结构或者联合。。
FILE *fp = fopen(filename,"wb");
if(NULL == fp)
return 1;
temp = head->next;
while(temp != NULL){
if(fwrite(temp,1,sizeof(temp),fp)==0){
fclose(fp);
return 2;
}
temp = temp->next;
}
fclose(fp);
return 0;
}