//这里用集合的例子
//集合的结构体
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);