将链表的数据写到文件中保存

//这里用集合的例子
//集合的结构体
typedef struct Aggreage//集合
{
	DataType element;//元素
	struct Aggreage *next;
}SAggreage;

//保存数据到结构体中
void save(SAggreage* ha,SAggreage* hb)
{
	SAggreage* p = NULL;
	FILE *fp = NULL;
	//保存集合A
	if((fp = fopen("A.txt","w")) == NULL)
	{
		cout<<"打开文件失败!"<<endl;
	}
	cout<<"fopen"<<endl;
	p = ha;
	while(p->next != ha)
	{
		p =  p->next;////////////p->next;不是ha->next; 
		fputc(p->element,fp);//fprintf(fp,"%c ",p->element);
		fputc(' ',fp);
	} 
	
	fclose(fp); 
	
	//保存集合B
	if((fp = fopen("B.txt","w")) == NULL)
	{
		cout<<"打开文件失败!"<<endl;
	}
	p = hb;
	while(p->next != hb)
	{
		p =  p->next;
		fputc(p->element,fp);
		fputc(' ',fp);//fprintf(fp,"%c ",p->element);
	} 
	//都输完数据到文件后,关闭文件。
	fclose(fp); 
}


fscanf(读文件的数据到结构体)的用法:

fscanf(fp, "%d %s %c %d %lf", &emp[i].eid, emp[i].name, &emp[i].gender, &emp[i].age, &emp[i].score);

fprintf(读结构体的数据到文件)的用法:

fprintf(fp, "%d %s %c %d %lf", emp[i].eid, emp[i].name, emp[i].gender, emp[i].age, emp[i].score);

猜你喜欢

转载自blog.csdn.net/cheng_hai_yan/article/details/88650559