该楼层疑似违规已被系统折叠隐藏此楼查看此楼
void save1() //将工具的基本信息保存至文件:"工具基本信息.file"
{
FILE*fp; //定义fp是一个指向FILE类型数据的指针变量
struct sheng *p; //指向结构体sheng
int c;
puts("\n是否保存? 1 、保存 2、不保存\n");
scanf("%d",&c);
while(c!=1&&c!=2) //判断输入是否正确
{
while(getchar()!='\n');
printf("\n输入错误,请重新输入:");
scanf("%d",&c);
}
if(c==1)
{
if((fp=fopen("工具基本信息.file","wb"))==NULL) //打开输出文件并使fp指向此文件
{
puts("\n无法打开此文件\n"); //如果打开时出错就输出"打不开"的信息
exit(0); //终止程序
}
for(p=head1;p!=NULL;p=p->next)
fwrite(p,sizeof(struct sheng),1,fp); //写入文件wb二进制写入方式从fp指向的文件写入一组数据
fclose(fp); //关闭文件
puts("\t\t\t信息已保存成功……\n");
}
}
struct sheng *print1()
{
FILE *fp;
struct sheng *p,*h,*p1;
if((fp=fopen("工具基本信息.file","rb"))==NULL) //以读的方式打开二进制文件
{
puts("\n无法打开此文件\n");
exit(0);
}
head1=(struct sheng*)malloc(sizeof(struct sheng));//创立头节点
p=head1;//节点链接
while(!feof(fp))//判断是否结束
{
p1=(struct sheng*)malloc(sizeof(struct sheng));//创立新节点
fread(p1,sizeof(struct sheng),1,fp);//从文件读入数据
p->next=p1;//节点相连
p=p1;//移到链表尾
}
p->next=NULL;
fclose(fp);
puts("\t\t\t信息已成功读入……\n");
return h->next;
}