哪位大佬能帮我看一下这个C语言哪错了
原题:本关任务:从键盘输入一名学生的信息,创建名为“stuinfo.dat”的文件,然后将这些信息保存到该文件中,最后将文件中的信息读出,显示在屏幕上。请根据提示,在指定...
原题:本关任务:从键盘输入一名学生的信息,创建名为“stuinfo.dat”的文件,然后将这些信息保存到该文件中,最后将文件中的信息读出,显示在屏幕上。请根据提示,在指定位置上补充代码,实现程序功能。
我的答案:#include<stdio.h>
struct student
{ char name[10];
float score;
};
int main()
{
int i;
FILE *fp;
struct student s;
scanf("%s%f",s.name,&s.score); //从键盘输入每个人的信息
fp=fopen("studinfo.dat","wb"); //打开将要写入信息的文件stuinfo.dat
fwrite(&s,sizeof(struct student),1,fp);//将该学生信息存储到stuinfo.dat文件中
fp=fopen("stuinfo.dat", "rb"); //打开要读取信息的文件stuinfo.dat
fread(&s,sizeof(struct student),1,fp); //从文件读取学生信息
fclose(fp); //关闭文件
printf("%s,%.2f",s.name,s.score); //输出学生信息
return 0;
}
无输出啊 展开
我的答案:#include<stdio.h>
struct student
{ char name[10];
float score;
};
int main()
{
int i;
FILE *fp;
struct student s;
scanf("%s%f",s.name,&s.score); //从键盘输入每个人的信息
fp=fopen("studinfo.dat","wb"); //打开将要写入信息的文件stuinfo.dat
fwrite(&s,sizeof(struct student),1,fp);//将该学生信息存储到stuinfo.dat文件中
fp=fopen("stuinfo.dat", "rb"); //打开要读取信息的文件stuinfo.dat
fread(&s,sizeof(struct student),1,fp); //从文件读取学生信息
fclose(fp); //关闭文件
printf("%s,%.2f",s.name,s.score); //输出学生信息
return 0;
}
无输出啊 展开
1个回答
展开全部
把fp=fopen("stuinfo.dat", "rb");改为fp=fopen("studinfo.dat", "rb");或把fp=fopen("studinfo.dat","wb");改为fp=fopen("stuinfo.dat","wb");——这是主要问题
在fwrite(&s,sizeof(struct student),1,fp);后加一句fclose(fp);——这提倡的完善写法。
为检测读出到底是否正确,应该另设一变量较好。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询