我是初学者,这个程序运行时 会提示file read error,麻烦各位帮我找找问题所在。。。谢谢
#include<stdio.h>#include<string.h>
#define SIZE 2
struct student /*定义一个结构体数组,存放10个学生的学号,姓名,math、Chinese、English三门课的成绩*/
{
int number;
char name[20];
int score[4];
}stu[SIZE];
void main()
{
void input(struct student stu[] ,int n);
void duchu(struct student stu[] ,int n);
/*void sort(struct student stu[] ,int n);*/
void save();
input (stu,SIZE);
/*sort(stu,SIZE);*/
save();
duchu(stu,SIZE);
getch();
}
void input(struct student stu[] ,int n) /* 从键盘输入10个学生的以上内容*/
{
int i;
for(i=0;i<SIZE;i++)
{
printf("please input student number.%d:\n",i+1);
printf(" number:");
scanf("%d",&stu[i].number);
printf(" name:");
scanf("\n");
gets(stu[i].name);
printf(" math score:");
scanf("%d",&stu[i].score[0]);
printf(" Chinese score:");
scanf("%d",&stu[i].score[1]);
printf(" English score:");
scanf("%d",&stu[i].score[2]);
}
}
void save() /* 10个学生的以上内容,存入文件stud.dat,关闭文件*/
{FILE *fp;
int i;
if((fp=fopen("C:\\Users\\zhou\\Desktop\\stud.dat","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<SIZE;i++)
if(fwrite(&stu[i],sizeof( struct student),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
void duchu(struct student stu[] ,int n)
{
FILE *fp;
int i;
fp=fopen("C:\\Users\\zhou\\Desktop\\stud.dat","wb");
for(i=0;i<SIZE;i++)
if(fread(&stu[i],sizeof( struct student),1,fp)!=1);
printf("file read error\n");
fclose(fp);
}