c语言用 fread 读取dat文件 ,大神来看看啊
typedefstructGrade{charnum[8];doubleordinary;doublemid;doublefinal;}Grade;//成绩的结构体dat...
typedef struct Grade{
char num[8];
double ordinary;
double mid;
double final;
}Grade;//成绩的结构体
dat文件内容如下:
20
06030202 91 79.5 76
06030203 85 75 77
06030204 79 82 80.5
06030205 89 75 60
06030206 85 89 61
06030207 93 78 63
06030208 82 76 79
06030209 89 82 71.5
06030210 96 74 71
06030211 90 82 68
06030212 70 91 88
06030213 84 93 90
06030214 88 85 69
06030215 91 80 66
06030216 79 79 79
06030217 86 73 73
06030218 85 90 75
06030219 81 88 88
06030220 92 80 91.5
谁能帮我写个读取函数啊 ,或者帮我看看我这个函数哪里出错了。。
函数如下:
void Read_grade(Grade *p)
{
FILE *fp;
int n;
char filename[20];
fflush(stdin);
printf("请输入要导入的文件的路径:");
gets(filename);
fp=fopen(filename,"rb");
if(!fp)
{
printf("File can't open!");
exit(0);
}
fread(&n,4,1,fp);
fread(p,sizeof(Grade),1,fp);
printf("读取成功!\n");
fclose(fp);
} 展开
char num[8];
double ordinary;
double mid;
double final;
}Grade;//成绩的结构体
dat文件内容如下:
20
06030202 91 79.5 76
06030203 85 75 77
06030204 79 82 80.5
06030205 89 75 60
06030206 85 89 61
06030207 93 78 63
06030208 82 76 79
06030209 89 82 71.5
06030210 96 74 71
06030211 90 82 68
06030212 70 91 88
06030213 84 93 90
06030214 88 85 69
06030215 91 80 66
06030216 79 79 79
06030217 86 73 73
06030218 85 90 75
06030219 81 88 88
06030220 92 80 91.5
谁能帮我写个读取函数啊 ,或者帮我看看我这个函数哪里出错了。。
函数如下:
void Read_grade(Grade *p)
{
FILE *fp;
int n;
char filename[20];
fflush(stdin);
printf("请输入要导入的文件的路径:");
gets(filename);
fp=fopen(filename,"rb");
if(!fp)
{
printf("File can't open!");
exit(0);
}
fread(&n,4,1,fp);
fread(p,sizeof(Grade),1,fp);
printf("读取成功!\n");
fclose(fp);
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询